java - 如何将请求参数映射到struts2中具有不同名称的bean

标签 java jsp struts2

我知道 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 表达式 usernamerealName 的 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/

相关文章:

java - 如何从 Eclipse 中的根目录 "classes"和 "test-classes"文件夹中过滤文件?

java - 如何将视频从 URI 转换为 byte[]

java - 用于发现蓝牙设备不工作的广播接收器

javascript - 无法在jsp中显示期望值

struts2 - 我在哪里可以找到适合初学者的好的 Struts2 教程/引用资料?

java - struts2-rest-插件 : sending json data to PUT/POST

java - 在 YML 中的接口(interface)列表中设置类

java - WEB-INF 文件夹未在 Spring Boot 应用程序中创建?

java - Tomcat 未在 Xampp 中运行

java - struts 2基础应用了解