struts2自定义拦截器继承AbstractInterceptor,怎么在拦截器中通过解耦合方式在接收form表单中提交数据

就是在拦截器中通过添加Map属性:privateMap<String,Object>request;publicStringintercept(ActionInvocat... 就是在拦截器中通过添加Map属性:private Map<String, Object> request;
public String intercept(ActionInvocation invo) throws Exception {
System.out.println("进入黑名单拦截器");
// 解耦合方式
ActionContext ac = ActionContext.getContext();
request = (Map<String, Object>) ac.get("request");
String userName = (String) request.get("userName");
System.out.println("用户名:" + userName);
String result = invo.invoke();
}

jap中form表单代码如下:
<form action="LoginAction" method="post">
用户名:<input type="text" name="userName" id="userName" /><br />

密码:<input type="password" name="userPwd" />
<br /><input type="submit" value="提交" /><input value="重置" type="reset" />
</form>

struts.xml配置如下:
<action name="LoginAction" class="com.sd.web.action2.LoginAction">
<interceptor-ref name="badName"></interceptor-ref>
<result type="dispatcher">
/WEB-INF/client/success.jsp
</result>
</action>

通过耦合的方式可以获得表单中的数据,即通过声明httpServletRequest request;可以获得form表单中的数据,但是通过map的方式获得不了,这是为什么呢?恳请高手解答解答。
展开
 我来答
海南小蟋蟀
2014-06-13 · TA获得超过1458个赞
知道小有建树答主
回答量:1638
采纳率:33%
帮助的人:925万
展开全部
用这种方式不太好,structs2可以直接映射到实体对象的,完全不需要通过字符串取值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式