Struts2与jQuery框架的结合使用

本文介绍了一个使用Struts2框架与Ajax技术结合的简单示例项目。通过具体的代码实现,展示了如何从前端页面收集用户输入,并通过Ajax方式提交到Struts2的Action进行处理,最终以JSON格式返回处理结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先要导入struts2的8个包,再导入struts2整合JSON的包,再导入JQ的包
2、配置过滤器
3、编写ajax.jsp,传数据给后台
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
   <title>AJAX在jQuery中的使用</title>
   
          <metahttp-equiv="pragma"content="no-cache">
          <metahttp-equiv="cache-control"content="no-cache">
          <metahttp-equiv="expires"content="0">
 <scripttype="text/javascript"src="jquery-1.11.1.js"></script>
<scripttype="text/javascript">
          $(document).ready(function(){
                   //为提交按钮添加点击事件
                   $(":submit").click(function(){
                   //获取用户输入的数据
                   varname=$(":text[name='user.name']").val();
                   varpassword=$(":password[name='user.password']").val();
                   
                   /**
                   *        参数一:要去的路径
                   *  参数二:要提交的内容,以JSON格式提交
                   *  参数三:处理回传的数据
                   *  参数四:以哪种格式显示,默认htlm
                   */
                   //get方式提交
          /*       $.get(
                             "<c:url value='ajax'/>",
                             {"user.name":name,"user.password":password},
                             function(data){
                                      alert(data);
                             },
                             "json"          
                   ); */
                   
                   $.post(
                             "<c:url value='ajax'/>",
                             {"user.name":name,"user.password":password},
                             function(data){
                                      alert(data.success);
                             },
                             "json"
                             );
                             
                             });
          });
</script> 
 </head>
 
 <body>
    用户名:<inputtype="text"name="user.name"/><br>
    密码:<inputtype="password"name="user.password"/><br>
   <inputtype="submit"value="提交"/>
   
 </body>
</html>



4、编写实体类
publicclassUser {
          privateStringname;
          privateStringpassword;
}



5、编写Action类
packagestar.july.web;
importjava.util.HashMap;
importjava.util.Map;
importstar.july.entity.User;
importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionSupport;
publicclassAjaxActionextendsActionSupport{
          Useruser;
          publicUser getUser() {
                   returnuser;
          }
          publicvoidsetUser(User user) {
                   this.user= user;
          }
          
          
          publicString getInfo()throwsException{
                   
                   //设计一个Map,用于存放返回浏览器的数据
                   Map<String,Object> data =newHashMap<String,Object>();
                   
                   ActionContext ac = ActionContext.getContext();
                   //接收参数
                   String name =user.getName();
                   String password =user.getPassword();
                   System.out.println(name+":"+password);
                   //转码
                   name =newString(name.getBytes("ISO-8859-1"),"utf-8");
                   Mapsession = ac.getSession();
                   //做判断
                   if(user.getName().equals("小火")&&user.getPassword().equals("123456")){
//       if(name.equals("小火")&&password.equals("123456")){   //用这个方法不可以,name的值为??
                             System.out.println("对的!");
                             //存放数据进session
                             session.put("Info", name+user.getPassword());
                             data.put("success",true);
                   }else{
                             System.out.println("错了的!");
                             data.put("success",false);
                   }
                   
                   
                   ac.put("data", data);
                   
                   returnSUCCESS;
          }
}



6、编写struts.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>      
          <packagename="default"extends="json-default"namespace="/">
                   <actionname="ajax"class="star.july.web.AjaxAction"method="getInfo">
                                      <resulttype="json">
                                                <paramname="root">#data</param>
                                      </result>                        
                   </action>
                   
          </package>
</struts>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值