3

私は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)
4

3 に答える 3

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>
于 2013-03-19T17:36:39.270 に答える
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>

ただし、質問があなたの認識のためだけのものである場合は、スクリプトレットを使用して次のようなことができます。

    <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>
于 2013-03-19T17:17:53.657 に答える