我想在jsp方面做这样的事情:
<c:forEach items="${configForm.unselectedServers}" var="item">
String name = "";
<c:forEach items="$item.configs" var="conf">
name += ", " + {$conf.name}
....
是否可以做类似的事情?
item.configs
它是一个类的数组(包含name
)。那部分我知道它有效,我只想知道如何将这些值放在一个字符串中。
编辑:
我收到以下错误:
Caused by: java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:431)
at java.lang.Long.<init>(Long.java:678)
at org.apache.el.lang.ELArithmetic$LongDelegate.coerce(ELArithmetic.java:186)
at org.apache.el.lang.ELArithmetic.coerce(ELArithmetic.java:357)
at org.apache.el.lang.ELArithmetic.add(ELArithmetic.java:235)
at org.apache.el.parser.AstPlus.getValue(AstPlus.java:40)
at org.apache.el.parser.AstPlus.getValue(AstPlus.java:38)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
at org.apache.jsp.config.configDetail_jsp._jspx_meth_c_005fset_005f5(configDetail_jsp.java:509)
at org.apache.jsp.config.configDetail_jsp._jspx_meth_c_005fforEach_005f1(configDetail_jsp.java:475)
at org.apache.jsp.config.configDetail_jsp._jspx_meth_c_005fforEach_005f0(configDetail_jsp.java:407)
at org.apache.jsp.config.configDetail_jsp.access$4(configDetail_jsp.java:384)
at org.apache.jsp.config.configDetail_jsp$Helper.invoke1(configDetail_jsp.java:615)
at org.apache.jsp.config.configDetail_jsp$Helper.invoke(configDetail_jsp.java:679)
答案 0 :(得分:4)
怎么样:
<c:forEach items="${configForm.unselectedServers}" var="item">
<c:set var="name" value="" />
<c:forEach items="${item.configs}" var="conf">
<c:set var="name" value="${name}, ${conf.name}" />
</c:forEach>
</c:forEach>
答案 1 :(得分:2)
更好的方法是使用JSTL本身处理它,如下所示:
<c:forEach items="${configForm.unselectedServers}" var="item">
<c:set var="name" value="" />
<c:forEach items="$item.configs" var="conf">
<c:set var="name" value='${name + "," + conf.name}'/>
<%--Do something here--%>
</c:forEach>
</c:forEach>
但如果问题仅仅是为了你的意识,可以用scriptlet做这样的事情:
<c:forEach items="${configForm.unselectedServers}" var="item">
<c:set var="name" value="" />
<c:forEach items="$item.configs" var="conf">
<c:set var="name" value='${name + "," + conf.name}'/>
<%
String name = pageContext.getAttribute("name");
//do something here
%>
</c:forEach>
</c:forEach>
答案 2 :(得分:2)
也许这有帮助。
<c:forEach items="${configForm.unselectedServers}" var="item">
<c:set var="name" value=""/>
<c:forEach items="${item.configs}" var="conf">
// here u can use yr variable like this
<c:set var="name" value="${conf.first_name}"/>
</c:forEach>
</c:forEach>