1

返された JSP で struts 2 アクションからメソッドにアクセスする際に問題があります。私が理解していることから、次のようなアクションがある場合:

public class HomeAction {
    public String execute() {
        return "SUCCESS";
    }

    public String getSomething() {
        return "somethh";
    }
}

次に、JSP から呼び出し${something}"somethh"返されるはずです。ただし、これは正しく機能していないようです。これを見逃した可能性のある明らかな構成はありますか? Struts 2、Spring 3.1、Tomcat 7 を使用しています。

4

3 に答える 3

0

あなたが求めていることは非常に抽象的であり、あなたが説明したことを実行しようとしているJSPページを表示する方が常に良いため、あなたが何をしようとしているのかわかりません。

メソッドのデフォルトを定義していない場合は、呼び出したいメソッドを S2 に伝える必要がありますexecute()

あなたの場合、設定ファイル( struts.xml )を使用するか、次のような注釈を使用して、呼び出すメソッドをS2に伝えることができます

<action name="default" class="tutorial.HomeAction">
  <result>Welcome.jsp</result>
</action>
<action name="somethh" class="tutorial.HomeAction" method=getSomethh>
  <result>Welcome.jsp</result>
</action>

ここでは、次のように異なるアクション名を構成する必要があります<s:url value="default.action"/> and <s:url value="somethh.action"/>

同じアクション名が必要であるが、アクション クラスの別のメソッドにリダイレクトしたい場合は、同様にメソッド名を設定することもでき<s:url>ます

<s:url value="generic.action" method="getSomethh">

上記の例では、アクション クラスのどのメソッドを呼び出したいか、および struts.xml ファイルでそれらを設定する必要があるすべてのタグを介して S2 に伝えています。

于 2012-04-30T10:03:52.673 に答える
0

環境問題がストラットの異常な動作を引き起こしていたことが判明しました。期待通りの動作でした、漠然とした質問で申し訳ありません。

于 2012-05-01T10:00:39.593 に答える
-1

メソッドを jsp ファイルから直接呼び出すことはできません。そうする場合、mvc.Struts2 が非常に簡単なフレームワークである理由です。メソッドとクラス strutsconfig.xml を構成できます。そしてそれをアクションでマッピングします。インスタンス変数は jsp で直接アクセスできます。たとえば、メソッドがある場合

    public class ABCAction extends ActionSupport{
    public String getNames(){

    nameslist=dao.getNamelist();
    retrun "success";
    }
    //getters and setters for namelist
    public setNamesList(List nameslist){
    this.nameslist-namelist;

}
}
public List getNames(){
return this.nameslist;
}
}

jsp の名前リストに直接アクセスできます--

于 2012-04-30T09:36:30.190 に答える