java spring mvc 怎么在程序内更改url的参数名

 我来答
好程序员
2016-10-25 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部
方法一:String username=request.getParameter("user_name");//得到参数值
GetInModel gm=new GetInModel();
gm.setUsername(username);//已经放入
方法二:private String username;
private String user_name;
public String getUserName(){
return user_name;
}
其他的 全部不需要动,仅需要加一个方法即可。。
在后续的处理中,可以直接使用 getUserName方法。

方法三:
public class ParameterChangeArgumentResolver implements WebArgumentResolver {

@Override
public Object resolveArgument(MethodParameter methodParameter, NativeWebRequest webRequest) throws Exception {
Class<?> parameterType = methodParameter.getParameterType();
if (parameterType != null) {
//获取request
HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
//取得request 中的参数
Map<String, Object> map = new HashMap<String, Object>();
//解析参数到新的Map中
for (Map.Entry<String, String[]> temp : request.getParameterMap().entrySet()) {
map.put(StringUtil.remove(temp.getKey().toLowerCase(), '_'), temp.getValue()[0]);
}
//把Map转成obj
return MapUtil.mapToObj(map, parameterType);
}

return UNRESOLVED;
}

public static Object mapToObj(Map<String, Object> map, Class<?> beanClass) throws Exception {
if (map == null) {
return null;
}
Object obj = beanClass.newInstance();
BeanUtils.populate(obj, map);
return obj;
}

}
最后配置<mvc:annotation-driven>
<mvc:annotation-driven>
<mvc:argument-resolvers>
<bean class="..ParameterChangeArgumentResolver">
</bean>
</mvc:argument-resolvers>
</mvc:annotation-driven>
维城辰4384
2016-10-15
知道答主
回答量:19
采纳率:100%
帮助的人:3.6万
展开全部
最简单的方法是你把这个input文本框的name属性设置成后台bean对应的字段的名称然后直接就可以在Controller的参数列表中直接写这个bean对象,spring会自动帮你封装的,不用你一个一个去request.getparameter这么取
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式