1

struts1構成ファイルを使用して呼び出されたときに、動作中の値を渡したい。次のプロパティを持つフォームBeanを作成しました

public class MyForm extends ActionForm {
    private String task;  

    public String getTask() {
        return task;
    }
    public void setTask(String task) {
        this.task = task;
    }
}

struts-config.xmlで、フォームBeanとアクションを次のように定義しました。

<form-bean name="myForm" type="demo.MyForm"></form-bean>
<action path="/myAction" name="myForm" type="demo.MyAction" scope="request">
    <set-property value="view" property="task" />
    <forward name="success" path="/result.jsp"></forward>
</action>

これらの構成を使用してWebSphere6.1で実行しようとしていますが、次の例外が発生します

Deregister the mbean because of uncaught init() exception thrown by servlet action: javax.servlet.UnavailableException: Parsing error processing resource path file:/D:/workspaces/j-space/myProject/Web Content/WEB-INF/struts-config.xml
at org.apache.struts.action.ActionServlet.handleConfigException(ActionServlet.java:761)
at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:744)
at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:689)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:356)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
....

何かが足りないか、set-propertyタグを間違った方法で使用していると思います。誰か助けてもらえますか?

4

2 に答える 2

1

Struts1.3DTDによると

「set-property」要素は、カスタムサブクラスが、、、、または要素とともに使用される場合に特に役立ちます。

傾斜させたいプロパティを使用してActionMappingのサブクラスを作成します

public class CustomActionMapping extends ActionMapping {

    private String task;

    public String getTask() {
        return task;
    }

    public void setTask(String task) {
        this.task = task;
    }
}

でカスタムアクションマッピングを構成するstruts-config.xml

<action-mappings type="CustomActionMapping">
   <action path="/myAction" name="myForm" type="demo.MyAction" scope="request">
      <set-property value="view" property="task" />
      <forward name="success" path="/result.jsp"></forward>
   </action>
</action-mappings>

クラスのdoGet/doPostメソッドでタスクの値を取得しますAction

CustomActionMapping cam = (CustomActionMapping) mapping;
String task = cam.getTask();

これがお役に立てば幸いです。

于 2012-11-06T10:22:38.963 に答える
-1

struts-config.xmlはスキーマに従いますか?http://struts.apache.org/1.3.10/index.htmlのサンプルを参照してください

于 2012-11-06T10:23:49.763 に答える