Jakarta ee 在Struts1中,如何在动作标记内使用set property标记?
我想在使用struts1配置文件调用时传递一个实际值。我已经创建了一个具有以下属性的表单beanJakarta 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; } } 在
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();