html页面获取servlet里集合,怎么实现

javaweb应用求写一个简单的servlet,里面生成一个存有数据的list,在html页面获取到这个list,并展示这个list中的元素,求贴出所有源码

6个回答

 servlet页面:
package Servlet;
import impl.ContactsDaoImpl;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import dao.ContactsDao;
import entity.Contacts;
public class SelectAll extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    doPost(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    //处理乱码
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");

    //得到httpsession对象
    HttpSession session=request.getSession();

    List list=new ArrayList();
    User u1 = new User();
    u1.setName("jack");
    u1.setAge(20);
    u1.setSex("m");
    list.add(u1);
    session.setAttribute("user", list); 
}
}

jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:forEach var="u" items="${user}">
${u.username}
${u.age}
${u.sex}
</c:forEach>

访问servlet后
绑定集合
request.setAttribute("stuList",stuList);
在request里绑定值后 转发给jsp request.getRequestDispatcher("showStudent.jsp").forward(request,response);

不知道可不可以帮助你

同意楼上方法,获取servlet中的值可以使用 getSession 、getAttribute方法

我的思路这样的 ,你把从数据库里得到的东西 放到一个map或者其他的也行 ,然后放到request,到页面里 再从request里拿出来

在servlet的doget或者dopost方法中,将要显示的值放入request作用域中,request.setAttribute("list",list),然后跳转到jsp页面,在jsp页面request.getAttribute("list")

servlet里request.setAttribute();jsp里request.getAttribute()

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jsp里面的foreach如何正确获取从 servlet里list里的值

jsp页面 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'addowner.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body style="background-color:pink;"> <form action="AddOwnerServlet" method="post"> <center> <table style="background-color:pink; color:#2c92fb; text-align:center; margin:0 auto;"> <tr> <td><img src="image/1.png"/></td> <td> <div style="background-color:pink; color:#0ee3db"> <h1 style="color:write;">宠物医院管理系统</h1> </div> </td> <td><img src="image/3.png"/></td> </tr> <tr> <td><a href="index.jsp">系统首页</a></td> <td><a href="login.jsp">登录</a></td> <td><a href="register.jsp">注册</a></td> </tr> <tr> <table width="600" border="1" bordercolor="red" bgcolor="#FFFFEE"> <tr> <td>用户ID:</td> <td><input type="text" name="ownerID"></td> </tr> <tr> <td>用户登录名:</td> <td><input type="text" name="oname"></td> </tr> <tr> <td>用户密码:</td> <td><input type="password" name="opassword"></td> </tr> <tr> <td>性别:</td> <td><input type="text" name="osex"></td> </tr> <tr> <td>联系方式:</td> <td><input type="text" name="phone"></td> </tr> <tr> <td>地址:</td> <td><input type="text" name="address"></td> </tr> <tr> <td>宠物ID:</td> <td> <select id="list" name="petID"> <option value="">请选择宠物ID..</option> <c:forEach items="${requestScope.list}" var="listpets"> <option value="${listpets}">${listpets}</option> </c:forEach> </select> </td> </tr> <tr> <td><input type="submit" value="添加"></td> <td><input type="reset" value="重置"></td> </tr> </table> </tr> </table> </center> </form> </body> </html> servlet页面 package www.bttc.manager.ownerservlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import www.bttc.manager.model.Pets; import www.bttc.manager.model.Powner; import www.bttc.manager.service.OwnerService; import www.bttc.manager.service.PetsService; import www.bttc.manager.service.impl.OwnerServiceImpl; import www.bttc.manager.service.impl.PetsServiceImpl; import www.bttc.manager.utils.ServiceException; public class AddOwnerServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8");// 设置请求的编码方式 response.setCharacterEncoding("UTF-8");// 设置响应的编码方式 response.setContentType("text/html;charset=utf-8"); OwnerService ownerService=new OwnerServiceImpl(); PetsService petsService=new PetsServiceImpl(); HttpSession session=request.getSession(); int ownerID=Integer.parseInt(request.getParameter("ownerID")); String osex=request.getParameter("osex"); String oname=request.getParameter("oname"); String opassword=request.getParameter("opassword"); int phone=Integer.parseInt(request.getParameter("phone")); String address=request.getParameter("address"); int petID=Integer.parseInt(request.getParameter("petID")); /*try { List<Pets> list=(List<Pets>) petsService.findAllPetID(); //request.setAttribute("ownerID", ownerID); request.setAttribute("list", list); } catch (ServiceException e1) { e1.printStackTrace(); }*/ try { //Pets pets=new Pets(); Pets pets=petsService.findPetsByPetsID(petID); if(ownerService.findOwnerByOwnerID(ownerID)!=null){ session.setAttribute("message", "添加的普通用户记录已存在!"); request.getRequestDispatcher("addowner.jsp").forward(request, response); }else{ Powner owner=new Powner(ownerID,osex,oname,opassword,phone,address,pets); ownerService.addOwner(owner); //Powner owner=ownerService.addOwner(owner); session.setAttribute("message", "添加普通用户已成功!"); request.getRequestDispatcher("/admin.jsp").forward(request, response); } } catch (ServiceException e) { e.printStackTrace(); } } } 另一个servlet package www.bttc.manager.ownerservlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import www.bttc.manager.model.Pets; import www.bttc.manager.service.PetsService; import www.bttc.manager.service.impl.PetsServiceImpl; import www.bttc.manager.utils.ServiceException; public class SelectPetID extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8");// 设置请求的编码方式 response.setCharacterEncoding("UTF-8");// 设置响应的编码方式 response.setContentType("text/html;charset=utf-8"); //int petID=Integer.parseInt(request.getParameter("petID")); PetsService petsService=new PetsServiceImpl(); try { List<Pets> pets = petsService.findAllPetID(); request.setAttribute("listpets", pets); request.getRequestDispatcher("/addowner.jsp").forward(request, response); } catch (ServiceException e) { e.printStackTrace(); } } }

在servlet中怎么传集合显示在jsp页面

jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>显示页面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="SelectAll" method="post"> <table border="1px" > <tr><td colspan="5" align="center"><h1>联系人列表</h1></td></tr> <tr><td colspan="5" align="right">新增联系人</td></tr> <tr><td>姓名</td><td>电话</td><td>邮箱</td><td>关系</td><td>操作</td></tr> <tr><td name="name"></td><td name="phone"></td><td name="email"></td><td name="contact"></td><td><a href="#">删除</a></td></tr> <tr><td name="name"></td><td name="phone"></td><td name="email"></td><td name="contact"></td><td><a href="#">删除</a></td></tr> <tr><td name="name"></td><td name="phone"></td><td name="email"></td><td name="contact"></td><td><a href="#">删除</a></td></tr> <tr><td name="name"></td><td name="phone"></td><td name="email"></td><td name="contact"></td><td><a href="#">删除</a></td></tr> </table> </form> </body> </html> servlet页面: package Servlet; import impl.ContactsDaoImpl; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import dao.ContactsDao; import entity.Contacts; public class SelectAll extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //处理乱码 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //得到httpsession对象 HttpSession session=request.getSession(); //得到数组的值 String[] name=request.getParameterValues("name"); String[] phone=request.getParameterValues("phone"); String[] email=request.getParameterValues("email"); String[] contact=request.getParameterValues("contact"); //调用接口的实现方法; ContactsDao contactsdao=new ContactsDaoImpl(); List<Contacts> list=contactsdao.selectAll(); if (list!=null) { session.setAttribute("name", name); response.sendRedirect("show.jsp"); } } } 接口的实现方法类页面: package impl; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import dao.BaseDao; import dao.ContactsDao; import entity.Contacts; public class ContactsDaoImpl extends BaseDao implements ContactsDao { //查询所有 public List<Contacts> selectAll() { List<Contacts> list=new ArrayList<Contacts>(); String sql="select * from Contacts"; Contacts contacts=null; //调用basedao中的公共方法; rs=this.executeQuery(sql, null); try { while (rs.next()) { contacts=new Contacts(rs.getString("name"), rs.getString("phone"), rs.getString("email"), rs.getString("contact")); list.add(contacts); } } catch (SQLException e) { e.printStackTrace(); }finally{ this.closeAll(con, pstm, rs); } return list; } } ![图片说明](https://img-ask.csdn.net/upload/201509/10/1441857052_417553.jpg)

JSP网页的EL表达式,无法获取另一个servlet类的request域对象中的数据。

jsp页面主要代码: <c:forEach items="${contacts }" var="con" varStatus="varSta"> <tr align="center"> <td>${varSta.count}</td> <td>${con.name }</td> <td>${con.gender }</td> <td>${con.age }</td> <td>${con.phone }</td> <td>${con.email}</td> <td>${con.city }</td> </tr> </c:forEach> servlet页面代码: ContactService cs=new ContactServiceImple(); List<Contact> list=cs.findContacts(); request.setAttribute("contacts", list);//设置request域对象 request.getRequestDispatcher("/contactList.jsp").forward(request, response); 问题补充: 如果我访问这个Servlet类,这个类会转发到上面那个jsp页面,并传入的还有数据,可是我先访问这个JSP页面,页面是没有request域对象数据。

如何在servlet中取到DAO中的list从而打印在jsp页面上

public ProductBean searchinfom(String username){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rst = null; // ProductBean product = new ProductBean(); List<ProductBean> productList=new ArrayList<ProductBean>(); try{ conn = dataSource.getConnection(); pstmt = conn.prepareStatement("SELECT * FROM userproduct WHERE username like ?"); pstmt.setString(1,"%"+username+"%"); rst = pstmt.executeQuery(); while(rst.next()){ ProductBean product=new ProductBean(); product.setUsername(rst.getString("username")); product.setProduct_id(rst.getString("product_id")); product.setFaddress(rst.getString("faddress")); product.setSaddress(rst.getString("saddress")); product.setWeight(rst.getDouble("weight")); product.setPrice(rst.getDouble("price")); productList.add(product); //return product; }//else{ //return null; //} }catch(SQLException se){ System.out.println("SQLException:"+se.getMessage()); return null; }finally{ try{ conn.close(); }catch(SQLException se){ } } return null; } } ``` public class QueryInformServlet extends HttpServlet{ public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ String username = request.getParameter("username"); ProductDao productdao = new ProductDao(); ProductBean product = productdao.searchinfom(username); ArrayList<ProductBean> productList=null; productList =new ArrayList<ProductBean>(); //if(!productList.isEmpty()){ request.getSession().setAttribute("productList",productList); RequestDispatcher view = request.getRequestDispatcher("/displayinform.jsp"); view.forward(request, response); //}else{ // RequestDispatcher view = request.getRequestDispatcher("/error.jsp"); // view.forward(request, response); // } } } ``` <%@ page contentType="text/html;charset=utf-8"%> <%@ page import="java.util.* ,com.bean.ProductBean"%> <html> <body> <table border=1> <tr><td>用户名</td><td>商品号</td><td>发货地</td><td>收货地</td><td>重量</td><td>价格</td></tr> <% ArrayList<ProductBean> productList=(ArrayList<ProductBean>)session.getAttribute("productList"); for(ProductBean product:productList) { %> <tr><td><%= product.getUsername() %></td> <td><%= product.getProduct_id() %></td> <td><%= product.getFaddress() %></td> <td><%= product.getSaddress() %></td> <td><%= product.getWeight() %></td> <td><%= product.getPrice() %></td> </tr> <% } %> </table> </body> </html>

java web怎样实现商品分类显示

自己写了一个小的javaweb项目,用的jsp+servlet。 想实现商品的分类显示,但是不知道怎样从jsp页面传值给dao层,以及查询语句怎么写? 求大神帮助。 这是jsp页面: ``` <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%> <%@ page import="cn.edu.qust.bookcitys.entity.Items"%> <%@ page import="cn.edu.qust.bookcitys.dao.ItemsDao"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>展示</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/common.css" rel="stylesheet"> <link href="css/show.css" rel="stylesheet"> </head> <body> <header> <!-- logo --> <div class="index-header-top"> <img src="images/logo.png" class="logo"> </div> <!--导航栏--> <nav class="navbar navbar-default" role="navigation"> <div class="container-fluid"> <ul class="nav navbar-nav"> <li><a href="index.jsp">首页</a></li> <li class="active"><a href="show.jsp" target="_self">展示</a></li> <li><a href="cart.jsp" target="_self">购物车</a></li> <li><a href="login.jsp" target="_self">登录</a></li> </ul> </div> </nav> </header> <div class="details_container"> <div class="details_left"> <dl> <dt class="book"> <a href="show.jsp?sort=1">文学</a> </dt> <dd> <a href="#">作品集</a> </dd> <dd> <a href="#">名著</a> </dd> <dd> <a href="#">小说</a> </dd> </dl> <dl> <dt class="xbook"> <a href="show.jsp?sort=2">青春</a> </dt> <dd> <a href="#">青春</a> </dd> <dd> <a href="#">励志</a> </dd> <dd> <a href="#">校园</a> </dd> </dl> <dl> <dt class="book"> <a href="show.jsp?sort=3">生活</a> </dt> <dd> <a href="#">作品集</a> </dd> <dd> <a href="#">名著</a> </dd> <dd> <a href="#">小说</a> </dd> </dl> </div> <div class="details_right"> <div style="width: 1000px;"> <% ItemsDao itemsDao = new ItemsDao(); String sort = request.getParameter("sort"); ArrayList<Items> list = itemsDao.getAllItems(); if (list != null && list.size() > 0) { for (int i = 0; i < list.size(); i++) { Items item = list.get(i); request.setAttribute("item",item); %> <div style="width: 180px; height: 220px; float: left;"> <a href="details.jsp?id=${item.id }"><img style="float: left;" src="images/${item.picture }" width="170px" height="120px" border="1" /></a> <span style="float: left; margin: 5px 0px 0px 5px; color: blue">${item.name }</span> <span style="float: left; margin: 5px 0px 0px 5px; color: #000">作者:${item.author }&nbsp;&nbsp; 价格: ${item.price }¥ </span> </div> <% } } %> </div> </div> </div> <div class="details_bottom"> <footer> Copyright &copy; Made By 泥石流 </footer> </div> <!-- 如果要使用Bootstrap的js插件,必须先调入jQuery --> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.min.js"></script> <!-- 包括所有bootstrap的js插件或者可以根据需要使用的js插件调用 --> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> </body> </html> ``` ``` 这是dao层: package cn.edu.qust.bookcitys.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import cn.edu.qust.bookcitys.entity.Items; import cn.edu.qust.bookcitys.util.DBHelper; //商品的业务逻辑类 public class ItemsDao { //获得所有的商品信息 public ArrayList<Items> getAllItems(){ Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; ArrayList<Items> list = new ArrayList<Items>();//商品集合 try{ conn = DBHelper.getConnection(); // String sql = "select * from items where sort=?;";//sql语句 String sql = "select * from items ;";//sql语句 stmt = conn.prepareStatement(sql); // stmt.setInt(1, sort); rs = stmt.executeQuery(); while(rs.next()){ Items item = new Items(); item.setId(rs.getInt("id")); item.setName(rs.getString("name")); item.setAuthor(rs.getString("author")); item.setNumber(rs.getInt("number")); item.setPrice(rs.getInt("price")); item.setPicture(rs.getString("picture")); item.setSort(rs.getInt("sort")); list.add(item);//每次遍历把一个商品加入集合 } return list; } catch(Exception e){ e.printStackTrace(); return null; } finally{ //释放数据集对象 if(rs!=null){ try{ rs.close(); rs = null; } catch(Exception e){ e.printStackTrace(); } } //释放语句对象 if(stmt!=null){ try{ stmt.close(); stmt = null; } catch(Exception e){ e.printStackTrace(); } } } } //根据商品编号获得商品资料 public Items getItemsById(int id){ Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try{ conn = DBHelper.getConnection(); String sql = "select * from items where id=?;";//sql语句 stmt = conn.prepareStatement(sql); stmt.setInt(1, id); rs = stmt.executeQuery(); if(rs.next()){ Items item = new Items(); item.setId(rs.getInt("id")); item.setName(rs.getString("name")); item.setAuthor(rs.getString("author")); item.setNumber(rs.getInt("number")); item.setPrice(rs.getInt("price"));; item.setPicture(rs.getString("picture")); item.setSort(rs.getInt("sort")); return item; } else{ return null; } } catch(Exception e){ e.printStackTrace(); return null; } finally{ //释放数据集对象 if(rs!=null){ try{ rs.close(); rs = null; } catch(Exception e){ e.printStackTrace(); } } //释放语句对象 if(stmt!=null){ try{ stmt.close(); stmt = null; } catch(Exception e){ e.printStackTrace(); } } } } //获取最近浏览的前3条信息 public ArrayList<Items> getViewList(String list){ System.out.println("list:"+list); ArrayList<Items> itemlist = new ArrayList<Items>(); int iCount = 3; if(list!=null&&list.length()>0){ String[] arr = list.split("#"); System.out.println("arr.length="+arr.length); //如果商品记录大于等于3条 if(arr.length>=3){ for(int i=arr.length-1;i>=arr.length-iCount;i--){ itemlist.add(getItemsById(Integer.parseInt(arr[i]))); } } else{ for(int i = arr.length-1;i>=0;i--){ itemlist.add(getItemsById(Integer.parseInt(arr[i]))); } } return itemlist; } else{ return null; } } } ``` ``` 想把sort的值传到dao层并实现分类显示。

一个关于使用JavaBean的问题(新手qiu'zhu)

要求: ## 在Servlet中创建一个List<用户JavaBean>对象,在List集合对象中存放多个用户JavaBean对象,并将该List集合对象存放在request对象中,最后跳转到users页面;在users页面使用JSTL和EL将List对象取出来,并以表格的形式展示出List中的每个用户信息。 Servlet.java ``` package cuit; import java.util.List; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/Servlet") public class Servlet extends HttpServlet { private static final long serialVersionUID = 1L; public Servlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<bean> list = new ArrayList<bean>(); bean a= new bean(); a.setNumBer("1"); a.setUserName("gyn"); a.setPassWord("123"); list.add(a); request.getSession().setAttribute("users", list); request.getRequestDispatcher("/users.jsp").forward(request, response); } public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{ this.doGet(req,resp) ; } } ``` bean.java ``` package cuit; public class bean implements java.io.Serializable { private static final long serialVersionUID = 1L; private String numBer ; private String userName; private String passWord ; public String getNumBer() { return numBer; } public void setNumBer(String numBer) { this.numBer = numBer; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } } ``` users.jsp ``` <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page contentType="text/html;charset=gbk" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <title>首页</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link href="css/bootstrap.min.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link href="css/main1.css" rel="stylesheet"> </head> <body> <!-- Wrap all page content here --> <div id="wrap"> <!-- Fixed navbar --> <!-- 导航栏 开始--> <div class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">Project</a> </div> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">首页</a></li> <li><a href="admin.jsp">管理页面</a></li> <li><a href="#">退出</a></li> </ul> </div><!--/.nav-collapse --> </div> </div> <!-- 导航栏 结束--> <!-- Begin page content --> <div class="container"> <div class="page-header"> <h1>用户列表</h1> </div> <div class="table-responsive"> <table class="table table-striped"> <thead> <tr> <th>序号</th> <th>用户名</th> <th>密码</th> <th>操作</th> </tr> </thead> <tbody> <c:forEach var="a" items="${users} "> <tr> <td>${a.numBer }</td> <td>${a.userName }</td> <td>${a.passWord }</td> <td><a href="#">编辑</a>&nbsp;&nbsp;<a href="#">删除</a></td> </tr> </c:forEach> </tbody> </table> </div> </div> </div> <div id="footer"> <div class="container"> <p class="text-muted credit">网站访问次数:</p> </div> </div> <!-- script references --> <script type='text/javascript' src="js/jquery-1.9.1.min.js"></script> <script type='text/javascript' src="js/bootstrap.min.js"></script> </body> </html> ``` 在myeclipse上运行时,会报错,错误提示为: Property 'numBer' not found on type java.lang.String 经过数次尝试都没有改对,请问要怎么修改呢?

我用Ajax向后台发送了个请求,返回的数据是一个List,页面都已经打印出来了,我如何遍历他?

![图片说明](https://img-ask.csdn.net/upload/201512/11/1449843598_494074.png) 前台代码 ``` $.ajax( { url:'<%=path%>/complete!queryComplete.action',// 跳转到 action type:'post', //post方式提交 success:function(data) { //data是返回的数据 console.log(data);//打印这个数据,打印出的数据 上面有图大家可以看下 }, error : function() { alert("异常!"); } }); ``` 后台代码 ``` public void queryComplete() throws Exception{ completeList = completeService.queryComplete();//执行查询,得到一个List HttpServletResponse response = ServletActionContext.getResponse();//Ajax后台的固定写法 response.setContentType("text/html;charset=utf-8");//就是设置格式,没有什么用 PrintWriter out = response.getWriter();//得到画笔,准备开始输出了 out.print(completeList);//输出得到的结果集 } ```

怎样把后台查询到的值显示到JSP里textArea标签里

<input>文本框里输入值后,失去焦点后,在后台通过输入的值查找结果,把结果返回到前台textArea标签里怎么实现

js jsp 向servlet跳转过程中的request问题

当在html中使用<form enctype="multipart/form-data">时(使用fileupload上传文件),request.getParameter("name")得到的是null,为了避免这一问题,并且为了检验输入框是否为空,通过js向servlet提交。这样值可以传过去了,但是上传图片中解析request的值却为null 现在想要得到即可以检验输入是否为空,又可以得到传值并将图片保存起来的效果。顺便想请教一下 js跳转的servlet的request和action跳转到servlet的request有什么不同。 P.S:请您不要怀疑什么没有进到servlet等类似问题。如果您有更好的解决方案,非常感谢您的告知,我会在一段日子后研究,但现在我的主要问题是使用html、js、servlet这三种技术解决问题。 非常感谢! 代码如下 html: <%@ page contentType="text/html;charset=GBK" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="en"> <head> <title>新增商家</title> </head> <body> <style> body,td{font-size:12px;} </style> <script language=javascript> //验证填入值不为空 function checkEmpty(){ var name = document.getElementById("merchantName").value; var call = document.getElementById("merchantCall").value; var picture = document.getElementById("picture").value; var address = document.getElementById("merchantAdd").value; var validate = document.getElementById("validatetCall").value; if(name==""||call==""||picture==""||address==""||validate==""){ alert("请您填写所需要的信息"); } else{ // 跳转到AddMerchantServlet中 document.merchantForm.action = "/discountCoupon/AddMerchant?name="+name+"&call="+call+"&picture="+picture+"&address="+address+"&verifyCall="+validate ; document.merchantForm.submit(); } } </script> <form name="merchantForm" enctype="multipart/form-data" method="post" > <fieldset style="width: 600; height: 60;padding:2px;" > <table> <tr> <td> <font color="red">*</font> 商家名称: <input type="text" id="merchantName" width="280px" style="height:18px;width:300px" value="请您限制在10个字以内" /> </td> </tr> <tr> <td> <font color="red">*</font> 商家电话: <input type="text" id="merchantCall" maxlength="11" /> </td> </tr> <tr> <td> <font color="red">*</font> 商家海报: <input type="file" id="picture" /> <input type="reset" /> </td></tr> <tr> <td> <font color="red">*</font> 商家地址: <input type="text" id="merchantAdd" style="height:18px;width:300px" /> </td> </tr> <tr> <td> <font color="red">*</font> 验证手机: <input type="text" id="validatetCall" maxlength="11" />&nbsp &nbsp添加 </td> </tr> <tr> <td> <input type="submit" value="保存" name="save" onclick="checkEmpty();" /> </td> <td>&nbsp &nbsp </td> <td> <input type="button" value="取消" name="cancel" onclick="window.close();" /> </td> </tr> </table> </fieldset> </form> </body> </html> servlet package com.ygsoft.servlet; import java.io.BufferedInputStream; public class AddMerchant extends HttpServlet { private static final long serialVersionUID = 1L; File tmpDir = null; File saveDir = null; @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); //从addMerchant.jsp中取得数据 String name = request.getParameter("name"); //对得到的数据进行转码 byte [] bytes1 = name.getBytes("iso-8859-1"); String merchantName = new String(bytes1,"GBK"); String merchantCall = request.getParameter("call"); String merchantPicture = request.getParameter("picture"); //对得到的数据进行转码 byte [] bytes2 = merchantPicture.getBytes("iso-8859-1"); String picture = new String(bytes2,"GBK"); String address = request.getParameter("address"); //对得到的数据进行转码 byte [] bytes3 = address.getBytes("iso-8859-1"); String merchantAdd = new String(bytes3,"GBK"); String validateCall = request.getParameter("verifyCall"); //向数据库中存储数据 BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml"); MerchantDao dao = (MerchantDao) factory.getBean("merchantDao"); Merchant merchant = new Merchant(); MerchantAssistant merchantAssistant = new MerchantAssistant(); HashSet<MerchantAssistant> set = new HashSet<MerchantAssistant>(); merchantAssistant.setVerifyUserPhoneNum(validateCall); merchantAssistant.setActive(1); set.add(merchantAssistant); merchant.setMerchantName(merchantName); merchant.setMerchantAdd(merchantAdd); merchant.setMerchantPhoneNum(merchantCall); merchant.setMerchantPic(picture); merchantAssistant.setMerchant(merchant); merchant.setMerchantAssistantSet(set); dao.addMerchant(merchant); //跳转到商家管理页面 RequestDispatcher rd = request.getRequestDispatcher("/merchantManage"); rd.forward(request, response); } public AddMerchant() { super(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //对图片进行存储 try { if (ServletFileUpload.isMultipartContent(request)) { // 创建该对象 DiskFileItemFactory dff = new DiskFileItemFactory(); // 指定上传文件的临时目录 dff.setRepository(tmpDir); // 指定在内存中缓存数据大小,单位为byte dff.setSizeThreshold(1024000); // 创建该对象 ServletFileUpload sfu = new ServletFileUpload(dff); // 指定上传文件的最大尺寸 sfu.setFileSizeMax(5000000); // 指定依次上传多个文件的总尺寸 sfu.setSizeMax(10000000); // 解析request请求,并返回FileItemIterator集合 FileItemIterator fii = sfu.getItemIterator(request); // 解析request请求,并返回FileItemIterator while (fii.hasNext()) { // 从集合中获得一个文件流 FileItemStream fis = fii.next(); // 过滤表单中空文件域 if ((!fis.isFormField()) && fis.getName().length() > 0) { // 获得的上传文件的文件名 String fileName = fis.getName().substring( fis.getName().lastIndexOf("//") + 1); if (fis.getName().lastIndexOf("//") == -1) { fileName = fis.getName().substring( fis.getName().lastIndexOf("/") + 1); // 获得文件输入流 BufferedInputStream in = new BufferedInputStream( fis.openStream()); // 获得文件输出流 BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream(new File(saveDir, fileName))); // 开始把文件写到你指定的上传文件夹 Streams.copy(in, out, true); } } } } } catch (Exception e) { e.printStackTrace(); } } public void init() throws ServletException { super.init(); String tmpPath = "d://tempdir"; String savePath = "d://savedir"; tmpDir = new File(tmpPath); saveDir = new File(savePath); if (!tmpDir.isDirectory()) tmpDir.mkdir(); if (!saveDir.isDirectory()) saveDir.mkdir(); } }

ajax请求java后台返回map结果集怎么取

![图片说明](https://img-ask.csdn.net/upload/201807/09/1531104604_391939.png) 如图所示,返回的是这样的数据,我应该怎么遍历取key和value

jQuery-serialize() 序列化 Form表单

<script type="text/javascript"> var path = "${pageContext.request.contextPath}"; $(document).ready(function(){ var url = path+"/webservice/getUser"; var queryString = ""; queryString = "?"+$("#search").serialize(); decodeURIComponent(queryString,true); $("#btn1").click(function(){ alert($("#search").serialize()); $("#resultDiv").load(url+queryString,function(response, status, xhr){ alert("提交成功!"+ status); }); }) }) function ajaxGet(){ var url = path+"/webservice/ajaxGet"; $.get(url,function(data,status){ alert("数据:"+data+",状态:"+status); alert(" 牛牪犇"); }); alert("回调成功!"); } </script> <body> <div> <h2> WebService </h2> ${web } </div> <div id="seacrhDiv"> <form id="search" name="search" method="get" action="${pageContext.request.contextPath}/webservice/getUser"> 姓名: <input type="text" name="name" id="nameId" value="1111"><br/> 密码: <input type="text" name="passw" id="passwId"><br/> <input type="button" value="jQuery提交" id="btn1"> <input type="submit" value="表单提交" id="btn2"> <input type="button" value="js提交" id="btn3" onclick="search()"><br/> <input type="button" value="ajaxGet" id="ajax" onclick="ajaxGet()"> </form> </div> <div id="resultDiv"> 开始页面: </div> </body> </html> ``` public class QueryForm { private String name; private String passw; private String patientValue; private Integer orgId; private Long patientId; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassw() { return passw; } public void setPassw(String passw) { this.passw = passw; } public String getPatientValue() { return patientValue; } public void setPatientValue(String patientValue) { this.patientValue = patientValue; } public Integer getOrgId() { return orgId; } public void setOrgId(Integer orgId) { this.orgId = orgId; } public Long getPatientId() { return patientId; } public void setPatientId(Long patientId) { this.patientId = patientId; } } ``` package com.founder.controller.annotation; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.founder.cxf.ws.HelloWorld; import com.founder.cxf.ws.impl.HelloWorldWs; import com.founder.entity.QueryForm; /** * * @author deng_tianguang * @version v1.0 * @see Controller 类注解 * */ @Controller @RequestMapping("/webservice") public class WebServiceController { @RequestMapping("/begin") public String addUser(HttpServletRequest request, HttpServletResponse response){ return "annotation"; } @RequestMapping(value="/getUser",method = RequestMethod.GET) public String delUser(HttpServletRequest request, HttpServletResponse response, ModelMap model, QueryForm queryForm){ String name = queryForm.getName(); String passw = queryForm.getPassw(); model.addAttribute("name",name); model.addAttribute("passw",passw); return "result"; } } 各位大牛,在序列化form表单的时候,queryForm 中无法获取<input> 表单元素中的值,若表单元素中有默认值,就可以获取的到,但是在页面上面更改了默认值,就无法再获取了。 求帮忙! 谢啦!

ssm 框架已经实现,但是ajax返回验证有毛病

``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>js+ajax</title> <script type="text/javascript" src="static/bootstrap/js/jquery-2.0.3.js"></script> <script type="text/javascript"> function validate(){ var name= $("#name").val(); if(name==null||name==""){ //为空隐藏提交按钮 var ui =document.getElementById("tijiao"); ui.style.display="none"; //这里是简单的显示 不设计后台,前台做的判断 $("#namediv").html("用户名不可以为空"); }else{ //ajax实现 //11111111获取XMLhtmlRequestxml对象 var req=createXmlHttpRequest(); //222222222准备url 数据 回调函数 //这个name是function下面var的参数. var url="/maven/reg1.do?name="+name; //还有一个参数表示的是异步还是同步,一般不写直接就是true,异步的 req.open("GET",url,true); //3333333333这个就是回调函数 req.onreadystatechange=callback; //这个send是在从servlet判断你的账号是不是存在, 如果是true就说名字存在,给页面返回了以后才有的.为啥写空不知道 //4发送请求 req.send(null); //回调函数 function callback(){ //第一个是我们的服务器成功接受了响应,并且解释了出来,状态4 第二个是服务器内部没有发生错误, url什么的也没有错, if(req.readyState=4&&req.status==200){ var date=req.responseText; if(date=="false"){ //下面的是意思是,如果账号存在了,提交按钮自动消失 //超级叼 var ui =document.getElementById("tijiao"); ui.style.display="none"; $("#namediv").html("用户名已经存在"); }else{ //不为空了,按钮一直显示 var ui =document.getElementById("tijiao"); ui.style.display=""; $("#namediv").html("用户名可以使用"); } } } } } function createXmlHttpRequest(){ //如果是ie6以上版本的浏览器 if(window.XMLHttpRequest){ return new XMLHttpRequest(); }else{ //如果浏览器是ie以下的 return new ActiveXObject("Microsoft.XMLHTTP"); } } </script> </head> <body> <form action="/maven/reg1.do" id="form1"> <table id="aa"> <tr> <td>用户名</td> <td><input type="text" name="username" id="name" onblur="validate();" />&nbsp;<font color="red">*</font></td> <td> <div id="namediv" style="display: inline"></div> </td> <td>密码</td> <td><input type="password" name="password"></td> <td>电话</td> <td><input type="text" name="phone"></td> <td><input type="submit" value="点击注册" id="tijiao"></td> </tr> </table> </form> </body> </html> ``` ``` ``` ``` package com.gray.user.controller; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.gray.user.entity.RegUser; import com.gray.user.service.impl.RegServiceImpl; import com.gray.user.service.impl.UserServiceImpl; @Controller public class RegController { @Autowired private RegServiceImpl userService; //自动装载他到spring @RequestMapping("/reg1.do") //url public String dologin(Model model,HttpServletResponse res,@RequestParam String username,RegUser rg,HttpServletResponse response) throws IOException{ boolean used=false; System.out.println("测试参数获取到bean没有"+rg.getUsername()+rg.getPassword()+rg.getPhone()); rg.setUsername(username); if(userService.doUserLogin(rg)){ used=true; System.out.println("通过control到--->service---到dao---到usermapp.在返回回来,service里面是ture,就是说账号不重复"); }else{ used=false; System.out.println("通过control到--->service---到dao---到usermapp.在返回回来,service里面是false,重复了账号 "); } return "regsuccess"; } } ``` ``` package com.gray.user.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.gray.user.dao.UserDao; import com.gray.user.entity.RegUser; import com.gray.user.entity.User; import com.gray.user.service.RegService; import com.gray.user.service.UserService; @Service public class RegServiceImpl implements RegService { @Autowired private UserDao<RegUser> dao; @Override public boolean doUserLogin(RegUser ruser) { //第一次执行查询数据库,查询 userdao selectUserName方法。 他这个方法和user.xml里面的id为selectUserName串联了. //也就是直接调用查询语句,并且吧值返回给reguser 类 System.out.println("testRegServiceImpl------->查询数据库,查询语句为id是selectusername"); List<RegUser> list = dao.selectUserName(ruser.getUsername()); System.out.println("查到了集合大小是"+list.size()+"查到了和你账号相同是的是几个"); if(list.size() == 0){ System.out.println("RegServiceImpl---你没有查询到你账号和数据库相同的信息.所以你return,"); for(int i=0;i<list.size();i++){ System.out.println(list.get(i).getUsername()); } return true; }else{ if(list.size()!=0){ System.out.println("regServiceImpl---查询到和你相同的账号不是0个,返回false"); return false; }else{ System.out.println("regserviceImpl----其他情况我也不知道啥情况,也返回false"); return false; } } } } ``` ``` 页面上的ajax 他就一直出毛病,数据库有个账号名是aa 只有我在表单填写aa 他才在网页提示账号重复, 别的任何都不提示,只会提示不能为空, 而且还失灵时不灵。 但是用system. 输出 我写的任何判断都是对了, 这是为啥? 请求大神给我说下,最好说下哪里错了。谢谢了

JS取<c:forEach>每行的数据传给Ajax

<c:foreach>动态生成的表格,在表格的每行最后一列有按钮点击事件,点击按钮之后取当前行的值给AJAX,但点击后发现取得都是第一行的数据 <script language="javascript" type="text/javascript"> function submit(btn) { alert("进来了"); //var tr= btn.parentElement.rowIndex; var tr = btn.parentNode.parentNode; //var fund_company =tr.cells(3); var fund_company =tr.childNodes[7].innerText; //var fund_company = $("#fund_company").html(); alert(fund_company); //var fund_code = $("#fund_code").html(); var fund_code =tr.childNodes[5].innerText; alert(fund_code); var fund_character =$("#fund_character").val(); //var fund_character =tr.childNodes[5].innerText; alert(fund_character); var sub = $("#sub").val(); //var sub =tr.childNodes[4].innerText; alert(sub); var vote = $("#vote").val(); //var vote =tr.childNodes[4].innerText; alert(vote); var ransom = $("#ransom").val(); //var ransom = tr.childNodes[4].innerText; alert(ransom); var params = { fund_company : fund_company, fund_code : fund_code, fund_character : fund_character, sub :sub, vote:vote, ransom:ransom }; $.ajax({ type : 'post', data : params, url : './wx/jjdt/edit/modify.do', async:false, success : function(data){ alert(data); }, dataType: "text" }); } <c:forEach var="fund" items="${fund_list}" varStatus="status"> <tr> <td >${status.index + 1}</td> <td>${fund.fund_name }</td> <td id="fund_code">${fund.fund_code }</td> <td id="fund_company">${fund.fund_company }</td> <td id="1"><textarea id="fund_character" name="fund_character" >${fund.fund_character }</textarea></td> <td id="2"><textarea id="sub" name="sub" >${fund.sub }</textarea></td> <td id="3"><textarea id="vote" name="vote" >${fund.vote }</textarea></td> <td id="4"><textarea id="ransom" name="ransom">${fund.ransom }</textarea></td> <td id="1"><input type="button" value="确定" onclick="submit(this)"></td> </tbody> <tr> </c:forEach> </table>

struts2中<s:select>标签只能输出显示值,隐藏的value值出不来,内附详情

原本没有学习struts2时,下拉列表框是用一个集合保存,然后放到作用域,在页面上使用<c:foreach>循环输出,这样没问题: 后台java代码 Java代码 收藏代码 private List<Street> streetList; public List<Street> getStreetList() { return streetList; } public void setStreetList(List<Street> streetList) { this.streetList = streetList; } 在方法中为list赋值: streetList = new StreetBizImpl().getList(); 页面上使用foreach正常输出,有显示值,也有隐藏值 Html代码 收藏代码 <select> <c:forEach items="${streetList }" var="s"> <option value="${s.sid }">${s.name }</option> </c:forEach> </select> 但问题来了,使用struts2的ognl表达式就挂了: Html代码 收藏代码 <s:select list="streetList" listValue="name" listKey="sid"></s:select> 如果不加入listKey就没关系。 报500错误: org.apache.jasper.JasperException: Error on line 63, column 15 in template/simple/select.ftl stack.findString(parameters.listKey) is undefined. It cannot be assigned to itemKeyStr - Class: freemarker.core.Assignment File: Assignment.java Method: accept Line: 111 - freemarker/core/Assignment.java:111:-1 org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164) org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275) org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) web.interceptor.UserInterceptor.doIntercept(UserInterceptor.java:16) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:562) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) 求大神指导,我实在找不出哪里的错了,我说下我想到过的点:①原本sid叫id,我怕是id重名过多,但改成sid还是不行。②项目编译不是最新的,我把项目导出→删除→导入,再次编译运行,还是不行。③可能是架包存在问题,但是我把架包删除完整重新放入了一边,还是不行。④我实在没辙了,在此求大神,我用的是Eclipse。现在只用了hibernate+struts2

Ajax后台向前台传json或者string类型的数据,前台收到的数据都是object

前台代码: function pay(){ var map = new Map(); $.ajax({ type:"POST",//提交请求的方式 url:"/interface/servlet/paypay",//访问servlet的路径 dataType:"json",//没有这个,将把后台放会的json解析成字符串 data:$('#pay_submit').serialize(),//把内容序列化 async:true,//是否异步 error:function(data) {//请求出错 alert("出错"); }, success:function(data) {//获得返回值 console.log(data.allmap); alert(data.BUSI_DATA.ORDER_FEE); //var json =eval("("+data+")"); var bankForm = document.createElement("form"); bankForm.method = "post"; bankForm.action = "http://211.103.90.62:7061/payagent/PayUnifiedAccess"; bankForm.id = "IDataForm"; //var json = eval("("+map+")"); //for(var x in json){ var input = document.createElement("input"); input.id = "data"; input.name = "data"; input.type = "hidden"; //input.value ='{"PUB_INFO":{"BUSI_CODE":"1001","OS":"PC","VERIFY_CODE":"a902f90288e4fe8d6e2196499aa90f11b1efd98565f87ce14d9b39701e9d71794bde30a4269e69bd3caf3f754e5c6f9104c67abf207e869210979baf51ce7741f4831ee469e6c76c5828998b0f5d6febf3b95f7f9d9d23908beab2694c7279d52503498a6de5f2109ca68a43f89b3f7068892e29ab5bb34d739acb8fc3d71841"},"BUSI_DATA":{"ORDER_FEE":"1","GOODS_LIST":[{"TOTAL_MONEY":"1","GOODS_PRICE":"100","GOODS_NUM":"1","GOODS_NAME":"诺基亚","GOODS_ID":"0058812","GOODS_ITEM":"1"}],"PEER_TRADE_ID":"2017073011216092","ORDER_DESC":"陈小庆测试","MERCHANT_ID":"1517061200000251","ACCOUNT_CODE":"18322581301","VALID_TIME":"30"}}';// input.value = data; bankForm.appendChild(input); //} document.body.appendChild(bankForm); var submitAction = document.getElementById("IDataForm"); submitAction.submit(); } }); } 后台代码: protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { log.debug("================"); IData goodsInfo=new DataMap(); IDataset goodsList=new DatasetList(); DataMap pubInfo=new DataMap(); DataMap busiDataMap=new DataMap(); DataMap allMap=new DataMap(); goodsInfo.put("GOODS_ITEM", "1"); goodsInfo.put("GOODS_NAME", "诺基亚"); goodsInfo.put("GOODS_PRICE", "100"); goodsInfo.put("GOODS_NUM", "1"); goodsInfo.put("TOTAL_MONEY", "1"); goodsInfo.put("GOODS_ID", "0058812"); goodsInfo.put("TOTAL_MONEY", "1"); goodsList.add(goodsInfo); //goodsList.push(GOODS_LIST=goodsInfo); pubInfo.put("OS", "PC"); pubInfo.put("BUSI_CODE","1001"); busiDataMap.put("PEER_ORDER_ID","2017073011216092"); busiDataMap.put("ORDER_DESC","测试"); busiDataMap.put("ORDER_FEE","1"); busiDataMap.put("VALID_TIME","30"); busiDataMap.put("ACCOUNT_CODE","18322581301"); busiDataMap.put("MERCHANT_ID","1517061200000251");//商户号 busiDataMap.put("GOODS_LIST",goodsList);//商户号 allMap.put("PUB_INFO",pubInfo); allMap.put("BUSI_DATA",busiDataMap); log.debug(allMap); JSONObject json=JSONObject.fromObject(allMap); json.accumulate("data",allMap); req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html"); PrintWriter out=resp.getWriter(); //out.print(JSON.toJSONString(json)); out.print(json.toString()); out.flush(); out.close(); } 后台代码中map包含多个集合,这些参数能直接以json形势传到前台整体取出来吗?求大神指教啊

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

你怎么看欧阳娜娜空降阿里p8?

前段时间 欧阳娜娜空降阿里P8被骂上热搜 有网友调侃道: 名牌大学毕业的研究生 要在阿里没日没夜、加班加点、 全年无休奋斗5年,才可能有机会 和20岁的欧阳娜娜一起喝下午茶…… 本来嘛,大厂✖明星的营销无可厚非 那是什么让撸代码N年的程序员愤愤不平呢? 还不是因为升到P8真的太难了! 这是很多阿里人甚至互联网人遥不可及的梦想! 阿里P8到底有多牛? 根据知乎大V@半佛仙人透露的情况: 阿里P8基本上要求研究生 5 年以上经验,本科 7 年以上经验; P8 一般去小公司就是各种 O,一般公司(非国企、.

程序员因没转发公司内容,被领导扣500,辞职后:加了三行代码

现如今,程序员在一二线城市可谓是非常的抢手,毕竟年薪那么多,一般在工作了几年之后,程序员想要攒到一套房子的首付是不成问题的,所以一些大龄的女青年在相亲的时候要把程序员当成了首选。但表面上看起来风光的程序员,背地里也受了非常多的委屈,最近有一名程序员没有转发公司的内容到朋友圈被领导扣了500块,当他辞职了之后,却非常淡定。 从个这个帖子中,我们可以看出这名程序员的情绪还是比较激动的,因为没有转发公司的内容到朋友圈,就要被罚款500块,这是非常不合理,换做是别人也不肯接受,而且三次没有转发就要被劝退,这是什么

为什么中国80%的程序员面试造大炮,工作扭螺丝,复制粘贴代码一把梭?

面试造大炮,工作扭螺丝,复制粘贴代码一把梭! 最近无聊和同事无意间聊天,开个玩笑,说我们写的什么代码最多,一位同事说我大部分都是复制粘贴,写什么代码?“我们都是代码的搬运工,都是在重复的写着不同的代码”,哈哈,当时还没有反应过来。 后面想想,其实也是事实,这个玩笑差点毁了我的三观,下面我们简单聊聊。 首先从源头来说,程序员使用语言开发,大部分语言都是相同的,只要熟悉的语言的语法知识,就能做出相应的功能,而很多的功能都是相似的,大致相同。 比如:去年开发了一个社交类项目,里面有用户...

Python垃圾回收机制

Python垃圾回收 引用计数器为主 标记清除和分代回收为辅 + 缓存机制 1. 引用计数器 1.1 环状双向链表 refchain 在python程序中创建的任何对象都会放在refchain链表中。 #define PyObject_HEAD PyObject ob_base; #define PyObject_VAR_HEAD PyVarObject ob_base; // 宏定义,包含 上一个、下一个,用于构造双向链表用。(放到refchain链表中时要用到) #define _PyObj

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问