jsp前后台传值那点小事

3 篇文章 0 订阅
3 篇文章 0 订阅

作为一个新手,刚开始入手项目时,最先遇到的问题便是jsp页面传值给后台java,以及后台java传值到jsp页面。其实方法有很多,但本项目用的是框架,我用的是ajax传值。


Jsp–>后台:将要传递的值放在ajax的data对象中,后台用request.getParameter()取出。
后台–>jsp:将要传递的值作为返回值,前台用data接收。
以下是我的代码:


  • Jsp代码:
$.ajax({
            type : "post",
            url : contextPath +"/Mytestww.action",
            data: 
            {
            accout:$("#accout").val(),
            password:$("#password").val()
            },
            dataType : "json",
            success : function(data) {  
            alert(data.check);      
            },
            error : function(data) {
            alert("ERROR");
            }
    ); 
  • 后台action代码:
@Controller
 public class myTest{
    private  String username="";
    private  String password="";
    Connection conn=null;
    Statement stmt=null;
    ResultSet rs=null;
    @RequestMapping(value = "Mytestww")
    @ResponseBody
    public Map<String,String> saveAll(ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception 
    {
        username=request.getParameter("accout");
        password=request.getParameter("password");
        String check="";
        Map<String,String> map = new HashMap<String,String>();
        String checkSql="select * from sysuser where name='"+username+"'";
        String sql="insert into sysuser(name,password) values('"+username+"','"+password+"')";
        String driver="net.sourceforge.jtds.jdbc.Driver";
        String url="jdbc:jtds:sqlserver://10.20.90.6:1433/EC_Digest";
        try {
            Class.forName(driver);
            conn=DriverManager.getConnection(url,"sa","root123");
            stmt=conn.createStatement();
            ResultSet rs = stmt.executeQuery(checkSql);
            while(rs.next())
            {
                check=rs.getString(1);
            }
            if(check!=null&&check!="")
            {
                check="用户名已存在";
                rs.close();
            }
            else
            {
                stmt.executeUpdate(sql);
                check="注册成功";
            }   
        }
        catch(Exception e){
            System.out.println("连接失败");
        }
        map.put("check", check);
        return map;
    }
 }

该功能是一个查询功能,前台输入一个用户名到数据库查找,显示查找结果。但如果结果有多个,在后台可以将其放入List列表,前台可以用接收,例如:

  • jsp
 <table id="maintable" border="1" align="center" class="maintable" >
     <tr>
        <th>编号</th> <th>名称</th> <th>数量</th> <th>折扣</th> <th>类别</th><th colspan="2">操作</th>
     </tr>
     <c:forEach items="${list}" var="keyword" varStatus="id">
     <tr>
        <td>${keyword.id}</td>
        <td>${keyword.name}</td>
        <td>${keyword.number}</td>
        <td>${keyword.dist}</td>
        <td>${keyword.caegory}</td>
        <td><button class="btn btn-default" onclick="delect('${keyword.id}')">删除</button></td>
        <td><button class="btn btn-default" onclick="showmodify('${keyword.id}')">修改</button></td>
     </tr>  
     </c:forEach>
     </table>
  • 后台action
@RequestMapping(value = "Savelist")
    public String savelist(ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception 
    {
        List<listBeans> list = new ArrayList<listBeans>();
        String checkSql="select * from czymanage";
        String driver="net.sourceforge.jtds.jdbc.Driver";
        String url="jdbc:jtds:sqlserver://10.20.90.6:1433/EC_Digest";
        Class.forName(driver);
        Connection conn=DriverManager.getConnection(url,"sa","root123");
        Statement stmt=conn.createStatement();
        ResultSet rs = stmt.executeQuery(checkSql);
        while(rs.next())
        {
            listBeans listb=new listBeans();
            listb.setId(rs.getString(1));
            listb.setName(rs.getString(2));
            listb.setNumber(rs.getString(3));
            listb.setDist(rs.getString(4));
            listb.setCaegory(rs.getString(5));
            list.add(listb);
        }
        model.put("list", list);
        rs.close();
        stmt.close();
        conn.close();       
        return "digest/product";
    }

该功能是显示数据库的数据并显示在前台的列表中,效果如下:
这里写图片描述


另外前后台传值方式很多,我就不介绍我未使用的了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值