【发布时间】:2013-05-18 22:41:28
【问题描述】:
我想为每个结果发送一个特定的参数。
struts.xml:
<action name="modifierPara" method="modifierPara"
class="ma.ensao.evalmetrics.view.ParametrageAction">
<interceptor-ref name="loginStack" />
<result name="ssCara">
<param name="etat">ssCara</param>
/WEB-INF/admin/projets/parametrer/modifierSubCara.jsp
</result>
<result name="metric">
<param name="etat">metric</param>
/WEB-INF/admin/projets/parametrer/modifierMetric.jsp
</result>
</action>
取决于 etat 的值,我将使用不同的参数执行 linkController.modifier。
ma.ensao.evalmetrics.view.ParametrageAction:
public class ParametrageAction extends ActionSupport {
private static final long serialVersionUID = 9149826260758390091L;
private Parametrage para;
private Long id;
private ParaManager linkController;
private String etat;
private String etatSuivant;
public ParametrageAction() {
linkController = new ParaManager();
}
public String getSpecificPara() {
try {
this.setPara(linkController.getSpecificPara(getId()));
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String modifierPara() {
try {
if (etat.equals("cara")){
linkController.modifier(para,"cara");
etatSuivant= "ssCara";
}else if(etat.equals("ssCara")){
linkController.modifier(para,"ssCara");
etatSuivant="metric";
}else if(etat.equals("metric")){
linkController.modifier(para,"metric");
etatSuivant="SUCCESS";
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("coucouuuuu from parm action");
return etatSuivant;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public ParaManager getLinkController() {
return linkController;
}
public void setLinkController(ParaManager linkController) {
this.linkController = linkController;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public Parametrage getPara() {
return para;
}
public void setPara(Parametrage para) {
this.para = para;
}
public String getEtat() {
return etat;
}
public void setEtat(String etat) {
this.etat = etat;
}
}
【问题讨论】:
-
编辑没有任何意义,您的结果转到 JSP,而不是操作。如果您想输入您的操作具有特定值,那么您需要将其作为参数发送到 request,而不是将值链接到 results ,发生在 动作执行之后。
-
这正是我想要的,用特定的参数输入每个结果,但我不知道该怎么做。如您所说,如何将请求中的参数从动作发送到jsp。
-
通过将其作为参数包含在链接中?通过定义两个动作方法并分别设置值?有几种选择。
-
@DaveNewton 我使用隐藏标签从 JSP
<s:hidden name="etat" value="metric"></s:hidden>发送 etat 的值,而不使用 struts.xml 中的参数,它确实有效。谢谢
标签: java jsp parameters struts2 actionresult