struts2 @Action给方法注解
2016-01-09 17:11
716 查看
项目中需要增加一个action,此action运行后返回与登陆后的index的页面相同,但是页面中有额外的js来进行模拟附加参数点击跳转功能。
实现这个功能有几个注意点:
1. 该action最好不要放在.web package下,而是放到.terminal package下,不影响项目原来管理(so java文件必须放在terminal, 配置路径要在根目录路径下)
2. 改action访问路径要为http://localhost:8080/tms/xxx.action,以使后续其他菜单操作不收影响
2. 修改index.jsp最好不要放到WEB-INF根目录下,而是放到WEB-INF/content/terminal下,方便管理(so jsp文件必须放在terminal下,配置对应路径)
3. 需要修改return string,这样不要直接返回convention约定的jsp,而是可以自己修改
基于上面的原因,所以采用注解配置来跳出convention约定的规则
value:配置访问路径,使用/表示根路径,后面加上访问路径,不需要action结尾,注意!
results/result:配置结果映射
name: 配置返回的String, location:配置jsp所在路径,这样可以自由定义路径啦
实现这个功能有几个注意点:
1. 该action最好不要放在.web package下,而是放到.terminal package下,不影响项目原来管理(so java文件必须放在terminal, 配置路径要在根目录路径下)
2. 改action访问路径要为http://localhost:8080/tms/xxx.action,以使后续其他菜单操作不收影响
2. 修改index.jsp最好不要放到WEB-INF根目录下,而是放到WEB-INF/content/terminal下,方便管理(so jsp文件必须放在terminal下,配置对应路径)
3. 需要修改return string,这样不要直接返回convention约定的jsp,而是可以自己修改
基于上面的原因,所以采用注解配置来跳出convention约定的规则
@Action(value = "/terminal-map-manager", results = { @Result(name = "manager", location = "terminal/terminal-map-manager.jsp") })
value:配置访问路径,使用/表示根路径,后面加上访问路径,不需要action结尾,注意!
results/result:配置结果映射
name: 配置返回的String, location:配置jsp所在路径,这样可以自由定义路径啦
注意:对Action类中的方法添加@Result注解,@Result将只作用于被添加的方法。Action类方法上添加的@Result优先级高于Action类上添加的@Result。(前者覆盖后者)
@Action(value = "/terminal-map-manager", results = { @Result(name = "manager", location = "terminal/terminal-map-manager.jsp") }) public String execute() throws Exception { Map paramMap = Struts2Utils.getRequest().getParameterMap(); String[] sn = (String[])paramMap.get("filter_LIKES_sn"); System.out.println("sn:"+sn); String[] tsn = (String[])paramMap.get("filter_LIKES_terminal-sn"); System.out.println("tsn:"+tsn); paramName=""; if(sn != null && sn.length >0){ paramName = "filter_LIKES_sn"; } if(tsn != null && tsn.length >0){ paramName = "filter_LIKES_terminal-sn"; } System.out.println("paramName:"+paramName); param=""; param = Struts2Utils.getParameter(paramName); System.out.println("param:"+param); if(param != null && param.length()>0 && paramName != null && paramName.length() >0){ //获取当前用户 MUser user = (MUser) Struts2Utils.getSession().getAttribute(LoginAction.CURRENT_USER_KEY); //根据用户Id获取当前用户的可操作菜单 menus = menuService.searchMenu(user.getId()); return "manager"; }else{ return NONE; } }
相关文章推荐
- Struts - 标签库
- struts1.0于struts2.0的比较
- Struts2中关于namespace的学习心得
- Struts2----自定义action的学习心得
- HTTP Status 404 - There is no Action mapped for namespace [/] and action name [login!welcome] associ
- struts2
- struts 学习笔记
- struts2.0拦截器(实现未登录的用户不能访问系统的页面)(转)
- Struts2+jQuery+JSON实现异步交互
- 软件开发疑惑解答
- ajax ssh 整合
- struts2登陆拦截器
- struts2框架原理
- web.xml
- web.xml
- struts2框架原理
- struts2登陆拦截器
- liferay中配置Struts2
- strust2--异常
- Struts2部署后抛出404 Tomcat work目录下均为空目录