我有一些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>
任何帮助将不胜感激!
答案 0 :(得分:0)
您可以在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}"/>