2012-11-06 47 views
1

我想在使用struts1配置文件調用它時傳遞一個值。我有,我有如下定義表單bean和行動以下屬性在Struts1中,如何在動作標籤中使用set-property標籤?

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> 

我試圖在網絡領域6.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) 
.... 

我想我失去了一些東西或以錯誤的方式使用設置屬性標記。誰能幫忙?

+0

'設置property'樣品是'形式,bean'的孩子,不'action' – Rajesh

+0

'設置property'也action'的'孩子。 –

+1

希望這個鏈接將引導你更好http://www.mail-archive.com/[email protected]/msg21396.html – Rajesh

回答

1

Struts 1.3 DTD說,當一個自定義子類 與,,,或 元件中使用

「設置屬性」元件是特別有用的。

與屬性創建的ActionMapping子類,你想inclide

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(); 

希望這可以幫助你。

+0

如何在JSP中訪問此屬性? –

+0

[在Struts1中,如何訪問JSP中的ActionMapping參數](http://stackoverflow.com/q/13265710/1307229) –