0

私はStruts2フレームワークを使用しています。JSP ページの Action クラスの静的属性の値を取得できない理由がわかりません。私のコードでは、私が意味する静的属性は :nbreAppelActionです。その結果、メソッドにマップされたアクションaaのすべての呼び出しを取得します。初めて開いたときに 0 を取得できません。stayIndexActionexecute()index.jsp

これが Action クラスです:

public class UserAction extends ActionSupport{   
    private static int nbreAppelAction = 0;

        public String execute(){
            utilisateur = new User();   
            nbreAppelAction++;
            return SUCCESS;
        }

    public static int getNbreAppelAction() {
        return nbreAppelAction;
    }

    public static void setNbreAppelAction(int nbreAppelAction) {
        UserAction.nbreAppelAction = nbreAppelAction;
    }       
}

ここでは index.jsp です:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <body>
        <p>
            <a href="<s:url action='stayIndexAction' />" >Stay in index.jsp </a>
        </p>

        <p>a<s:property value="nbreAppelAction" />a</p>
    </body>
</html>
4

1 に答える 1

2

静的プロパティ OGNL 表記を使用し、静的プロパティへのアクセスを許可する必要があります。

@some.package.ClassName@FOO_PROPERTY
@some.package.ClassName@someMethod()

http://struts.apache.org/2.x/docs/ognl-basics.html

ここでも、あなたが何を達成しようとしているのかよくわかりません。アプリ全体のデータを保持し、それが属するアプリケーションコンテキストに保持し、アクセスを同期する場合は、IMO。

于 2012-07-12T15:29:37.793 に答える