实际项目中Spring Annotation MVC 遇到的问题

第一:以前的XML的MVC ActionForm和Action 是要分开的,现在用annotation方式,是不用分开的,用不同的注解参数就可以区别开。
如:
/**
* 查看访问策略列表
*
* @param type
* o:查看总的访问策略;1:查看session访问策略
* @param model
* @return
* @since maguangze@Jun 24, 2010
*/
@RequestMapping(params = "action=list")
public String visitorPolicyList(@RequestParam("type")
int type, ModelMap model) {

if (logger.isDebugEnabled()) {
logger.debug("进入查看访问策略列表页面");
}
if (type == 0) {
if (logger.isDebugEnabled()) {
logger.debug("查看总的访问策略列表,type=" + type);
}
model.addAttribute("policy", this.visitorProxyManager
.getVisitorPolicies("policy"));
} else {
if (logger.isDebugEnabled()) {
logger.debug("查看session的访问策略列表 type=" + type);
}
model.addAttribute("policy", this.visitorProxyManager
.getVisitorPolicies("sessionPolicy"));
}
model.addAttribute("type", type);
return "console/visitorPolicyList";
}
/**
* 添加或修改访问策略
*
* @param url
* 目标URL
* @param model
* @return
* @since maguangze@Jun 24, 2010
*/
@RequestMapping(params = "action=addOrUpdate", method = RequestMethod.GET)
public String addOrUpdateVisitorPolicy(@RequestParam("url")
String url, ModelMap model) {
Map policyMap = this.visitorProxyManager.getVisitorPolicies("policy");
if (!"".equals(url)) {
if (logger.isDebugEnabled()) {
logger.debug("修改访问策略");
}
model.addAttribute("policy", policyMap.get(url));
} else {
if (logger.isDebugEnabled()) {
logger.debug("新增访问策略");
}
model.addAttribute("policy", new VisitorPolicy());
}
return "console/visitorPolicyForm";
}
/**
* 保存访问策略
*
* @param policy
* @return
* @since maguangze@Jun 24, 2010
*/
@RequestMapping(method = RequestMethod.POST)
public String saveVisitorPolicy(@ModelAttribute("policy")
VisitorPolicy policy) {
if (logger.isDebugEnabled()) {
logger.debug("保存访问策略");
}
this.visitorProxyManager.addConfigPolicies(policy.getUrl().trim(),
policy.getAllowNum(), policy.getAllowIp().trim());
return "console/operateSuccess";
}
以上实现了可以查看列表,可以增加,修改策略。
容易出错点:
一:@RequestParam("url")String url 的使用,jsp页面的URL中必须带有url参数,否则报错
二:在新建对象的时候.model.addAttribute("policy", new VisitorPolicy());
new VisitorPolicy():这里必须是new 一个新对象,否则,JSP页面会报错
第三:在新建或者修改页面form标签要有<form:form modelAttribute="policy">modeAttribute属性。
在查看列表页面也要添加<form:form modelAttribute="policy">modeAttribute,否则没有数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值