关于JQuery easyUI的datagrid问题
河先森 2012-10-10 10:13:42 最近练手一个小项目,主要是ssh整合+jQuery easyUI做的界面,,问题描述:
通过jQuery提交登陆表单到action,然后action处理以后,返回一个字符串给前台,
public class UserAction extends ActionSupport {
private UserManager um;
private String result;//返回结果
public String login() {
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
String verify = request.getParameter("verify");
String sessionVerify = (String)session.getAttribute("verify");
if(sessionVerify!=null && !"".equals(sessionVerify)) {
if(!(sessionVerify).equals(verify)) {//验证码错误
setResult(Protocal.WRING);
}else {
String name = request.getParameter("name");
String pass = request.getParameter("pass");
String utype = request.getParameter("utype");
User user = new User(name, pass, utype);
if(um.isExist(user)){
session.removeAttribute("verify");//验证码从session中移除
session.setAttribute("user", user);//把user添加到session中
setResult(Protocal.SUCCESS);
}else {//用户名或密码错误
setResult(Protocal.FAILED);
}
}
}else {
setResult(Protocal.REMOVED);
}
return SUCCESS;
}
然后action的配置:
<action name="loginAction" class="userAction" method="login">
<result type="json">
<param name="noCache">true</param>
<param name="root">result</param>
</result>
</action>
这样,前台的回调函数就会获得到result的字符串,根据字符串进行判断。。
现在datagrid需要通过action获取数据,但是他需要的是json对象,,
<action name="getUser" class="userAction" method="getUser">
<result type="json">
<param name="noCache">true</param>
<param name="excludeProperties">um</param>
<!-- 上面的属性不进行序列化,返回JSON对象;如果配置root,返回一个字符串 -->
</result>
</action>
但是,这样返回后,datagrid无法获取到数据,,
求解决,谢谢。。。。。。。。
还有一个问题,通过action进行逻辑处理,,还需要获取HttpServletRequest 和session等,,这样做有什么意义呢???为什么不直接使用Servlet????