1

jspで次の方法でスクリプトレットに変数を作成しました

<% int count= 0; %>

いくつかの条件に基づいて、変数の値を増やしています...... ( 「カウント」の値は 5 だと思います)

struts2 タグを使用して'count'値が0の場合は、何らかの処理を行う必要があります。

私は次の方法を試しました。しかし、私は失敗しました......

<s:if test="#count == 0" > 
   --------
   -------- 
</s:if>  

<s:if test="%{#count == 0}" >  
</s:if>  

前もって感謝します

4

2 に答える 2

1

スクリプトレットを使用しないでください

<s:bean name="org.apache.struts2.util.Counter" var="counter">
   <s:param name="first" value="0"/>
   <s:param name="last" value="5" />
</s:bean>

<s:iterator value="#counter">
  <li><s:property /></li>
</s:iterator>

0から5を出力します。

于 2012-04-11T12:31:33.703 に答える
0

誰もがあなたにそれは良い考えではないと言いました...あなたが悪い考えを望むなら:

以下は、JSP の最上位にある必要があります。

<%@ page import="com.opensymphony.xwork2.ActionContext" %>
<%@ page import="com.opensymphony.xwork2.util.ValueStack" %>

JSP内のどこかに従ってください:

<%
    int i = 0;
    ValueStack stack = ActionContext.getContext().getValueStack();
    stack.getContext().put("varName", i);
    stack.setValue("#attr['varName']", i, false);
%>

次に、これは機能するはずです:

<s:property value="#varName"/> <!-- prints 0 -->

これをテストする時間はありませんでしたが、struts2 の set タグはこのように機能します (良い考えでない場合は、まだ少し教育的です)。

于 2012-04-11T21:57:58.143 に答える