我知道 Struts 2 使用 param
拦截器自动将请求参数映射到操作类字段。但是,如果我想将参数映射到具有不同名称的操作字段怎么办。假设我有
<input type="text" name="username">
如果我想将其映射到下面的字段
private String realName;
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realNaame = realName;
}
我该如何做这个映射。我可以用吗
realName = request.getParameter("username");
如果是这样,我如何在操作类中获取请求对象?它还可以在带有 OGNL 表达式 username
或 realName
的 JSP 页面中工作吗? struts2配置中还有其他方法可以进行这种映射吗?
最佳答案
使用 alias interceptor , 简而言之:
<action name="someAction" class="com.examples.SomeAction">
<!-- The value for the foo parameter will be applied as if it were named bar -->
<param name="aliases">#{ 'foo' : 'bar' }</param>
<interceptor-ref name="alias"/>
<interceptor-ref name="defaultStack"/>
<result>result.jsp</result>
</action>
关于java - 如何将请求参数映射到struts2中具有不同名称的bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799716/