Return一个0到变量之间的随机数
Return a random number range between 0 and a variable
我有一些 JSP 在变量中保存一个数字,它看起来像这样
<c:set var="myNumber" value="${fn:length(myItems)}" />
我想做的是创建另一个变量,它给出一个介于 0 和存储在该变量中的数字之间的随机数。我知道您可以使用 Math.random 和 Java 来执行此操作,但我不确定如何修改它以接受一个变量来代替 100:
<c:set var="myNumber"><%= java.lang.Math.round(java.lang.Math.random() * 100) %></c:set>
如有任何帮助,我们将不胜感激!
您可以在 scriptlet 中访问 JSTL 变量值,您可以通过在适当范围的对象上调用 getAttribute() 方法来实现。 JSTL 完全使用作用域属性,在 page
、request
或 session
范围内。 JSTL 变量实际上是属性,默认情况下范围在页面上下文级别。试试下面的例子。它将生成一个介于0和变量myNumber
之间的随机数,然后将随机数设置为myRandomNumber
变量。
<c:set var="myNumber" value="${fn:length(myItems)}"/>
<%
int myNumber = (int)pageContext.getAttribute("myNumber");
int randomNumber = (int)(java.lang.Math.random() * (myNumber + 1));
pageContext.setAttribute("randomNumber", randomNumber);
%>
<c:set var="myRandomNumber" value="${randomNumber}"/>
我有一些 JSP 在变量中保存一个数字,它看起来像这样
<c:set var="myNumber" value="${fn:length(myItems)}" />
我想做的是创建另一个变量,它给出一个介于 0 和存储在该变量中的数字之间的随机数。我知道您可以使用 Math.random 和 Java 来执行此操作,但我不确定如何修改它以接受一个变量来代替 100:
<c:set var="myNumber"><%= java.lang.Math.round(java.lang.Math.random() * 100) %></c:set>
如有任何帮助,我们将不胜感激!
您可以在 scriptlet 中访问 JSTL 变量值,您可以通过在适当范围的对象上调用 getAttribute() 方法来实现。 JSTL 完全使用作用域属性,在 page
、request
或 session
范围内。 JSTL 变量实际上是属性,默认情况下范围在页面上下文级别。试试下面的例子。它将生成一个介于0和变量myNumber
之间的随机数,然后将随机数设置为myRandomNumber
变量。
<c:set var="myNumber" value="${fn:length(myItems)}"/>
<%
int myNumber = (int)pageContext.getAttribute("myNumber");
int randomNumber = (int)(java.lang.Math.random() * (myNumber + 1));
pageContext.setAttribute("randomNumber", randomNumber);
%>
<c:set var="myRandomNumber" value="${randomNumber}"/>