Struts2 与 Ext 整合开发
来源:互联网 发布:coreldraw绘制软件下载 编辑:程序博客网 时间:2024/06/07 21:49
最近一直想找一个Struts与Ext整合的一个比较规范的做法,个人觉得必然使用Struts的json,弄了一个晚上,不知道是否在符合大众的规范,配置如下:
Struts2从2.1.7开始便将json整合进去了,从Strtus2的lib包中可以片可以找到,名为struts2-json-plugin-2.x.x.x.jar
将json-plugin放入工程的lib中去后,便可以开始进行开发:
Action:
package com.bjsoft.oa.action.system;import nl.captcha.Captcha;import org.apache.commons.lang.xwork.StringUtils;import com.bjsoft.oa.model.User;import com.bjsoft.oa.service.UserService;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 2578893349737621315L;private UserService userService;private User user;private String simpleCaptcha;private boolean success;private String msg;@Overridepublic String execute() throws Exception {success = false;msg = "";Captcha _simpleCaptcha = (Captcha) ActionContext.getContext().getSession().get("simpleCaptcha");if (_simpleCaptcha.isCorrect(simpleCaptcha)) {String _userName = user.getUsername();String _password = user.getPassword();if (!StringUtils.isEmpty(_userName)&& !StringUtils.isEmpty(_password)) {User u = this.userService.getUserByName(_userName);if(u != null){if (StringUtils.equals(u.getPassword(), _password)) {success = true;} else {msg = "密码错误!";}}else{msg = "不存在的用户";}} else {msg = StringUtils.isEmpty(_userName) ? "用户名不能为空" : "密码不能为空";}} else {msg = "验证码错误!";}return super.execute();}public UserService getUserService() {return userService;}public void setUserService(UserService userService) {this.userService = userService;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}public String getSimpleCaptcha() {return simpleCaptcha;}public void setSimpleCaptcha(String simpleCaptcha) {this.simpleCaptcha = simpleCaptcha;}public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}}
strtus.xml
<struts><package name="login" namespace="/" extends="json-default"><action name="login" class="com.bjsoft.oa.action.system.LoginAction"><result type="json"><param name="includeProperties">success,msg</param></result></action></package></struts>
这里的package一定要继承json-default,并且result type也是要json格式,同时另一个问题是没有参数的json result 将会把action中所有局部变量放在json格式的字符串返回给前端,这样似乎就造成了不必要的浪费,于是有两种解决办法,一种是上面的配置,告诉struts应该包含哪些变量,另一种是告诉struts不应该包含哪些变量,
<!-- Result fragment --><result type="json"> <param name="excludeProperties"> login.password, studentList.*\.sin </param></result>
这样就可以了。
- Struts2 与 Ext 整合开发
- Ext 与 struts2 整合
- 关于Spring、Struts2与Ext的整合
- JasperReport与Struts2整合开发报表
- Ext JS+Android+SSH整合开发Web与移动SNS
- ext与struts2结合
- dwr2与struts2整合
- Struts2与Hibernate整合
- Struts2 与 Spring 整合
- Struts2与Spring整合
- struts2与WebService整合
- JasperReport 与 Struts2 整合
- Struts2与Spring整合
- struts2与kindeditor整合
- struts2与ajaxfileupload整合
- spring与struts2整合
- struts2与spring3整合
- struts2 与json 整合
- C#注册表编程示例二:在“新建”中添加自己的文件类型
- Date,String,Timestamp转化
- wait()
- Eclipse 浏览文件插件 EasyExplorer 和 OpenExplorer
- MYSQL数据库设计的一点总结
- Struts2 与 Ext 整合开发
- android自定义ListView背景
- HTML表单(Form)
- Linux TOP命令 按内存占用排序和按CPU占用排序
- 静态包含和动态包含
- 12.输入3个数,按照从小到大的顺序输出。
- 12.输入3个数,按照从小到大的顺序输出。
- 释放内存出错
- jquery多文件上传插件 multifile的使用