0

問題は次のとおりです。アクションクラス内に、変数が 1 つあります。

 private String commentAdd = "yes";

そして、アクション クラスは reslut.jsp に移動します。reslut.jsp 内には次のものがあります。

<s:set name="allowAddComment" value="commentAdd"/>
<s:if test="%{#allowAddComment=='yes'}">
                    <script type="text/javascript">
                        window.close();
                    </script>
</s:if>

しかし、それは機能しません。専門家が私にいくつかの提案をしてもらえますか? ありがとう。

4

2 に答える 2

1

いくつかのこと。

  • プロパティは、パブリック ゲッターを介して公開する必要があります (または、S2 の以降のバージョンではパブリック メンバーとして公開されますが、ゲッターを使用することをお勧めします)。
  • 文字列をブール値として使用するのはなぜですか? ブール値を使用するだけです。
  • プロパティを別の変数に設定するのはなぜですか? プロパティを使用するだけです。

これが本当にあなたが望むものであると確信していますか? これにより、JavaScript がレンダリングされるとすぐにウィンドウが閉じます。それが問題ない場合は問題ありませんが、そうである場合、わざわざウィンドウをレンダリングする必要はありません。

于 2012-02-24T15:31:29.437 に答える
0
import com.opensymphony.xwork2.ActionSupport;

public class PageAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private boolean addComment;

public boolean isAddComment() {
    return addComment;
}

public void setAddComment(boolean addComment) {
    this.addComment = addComment;
}

public String execute() {
    return SUCCESS;
}

}

<s:if test="%{addComment}">
 <script type="text/javascript">
  window.close();
 </script>
</s:if>
于 2012-02-24T15:52:32.767 に答える