Jakarta ee 在Struts1中,如何在动作标记内使用set property标记?

Jakarta ee 在Struts1中,如何在动作标记内使用set property标记?,jakarta-ee,web,struts1,Jakarta Ee,Web,Struts1,我想在使用struts1配置文件调用时传递一个实际值。我已经创建了一个具有以下属性的表单bean public class MyForm extends ActionForm { private String task; public String getTask() { return task; } public void setTask(String task) { this.task = task; } } 在

我想在使用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>
我认为我遗漏了一些东西,或者以错误的方式使用了set属性标记。有人能帮忙吗?

当自定义子类 与、、或一起使用 元素

使用要包含的属性创建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中配置自定义操作映射


希望这对您有所帮助。

您的struts-config.xml是否遵循该模式?
请参见上的示例

是。。。它遵循模式。。。当不使用set属性标记时,它可以正常工作。set-property是表单bean的子级,而不是actionset属性也是action的子级。希望此链接能更好地指导您我也尝试过。现在异常未发生,但任务的值为空。@Rajesh谢谢Rajesh。请将此链接作为答案。如何在JSP中访问此属性?
public class CustomActionMapping extends ActionMapping {

    private String task;

    public String getTask() {
        return task;
    }

    public void setTask(String task) {
        this.task = task;
    }
}
<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>
CustomActionMapping cam = (CustomActionMapping) mapping;
String task = cam.getTask();