A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

诺之忧

中级黑马

  • 黑马币:146

  • 帖子:13

  • 精华:0

© 诺之忧 中级黑马   /  2014-9-14 14:47  /  5755 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

8黑马币
<td>
            <c:url value="/UserSer" var="delete">
        <c:param name="url" value="delete" />
        <c:param name="uString" value="xxxxxxx" />
            </c:url>
            <a href="${delete}">删除</a>
</td>

在servlet的子类UserSer  
String url=request.getParameter("url");//通过url访问ser
获得的参数是空值,高手们给我指点迷津吧              

最佳答案

查看完整内容

那就用url标签带参数的形式吧。

11 个回复

倒序浏览
诺之忧 发表于 2014-9-15 00:27
这种获取方式,有点麻烦,有没有更加好的方式呢?麻烦你了,感激不尽啊 ...

   那就用url标签带参数的形式吧。     
回复 使用道具 举报
      是通过  <a href="${delete}">删除</a>  提交到Servlet吗?
回复 使用道具 举报
<c:url  value="/servlet/DemoServlet"  var="demo" scope="session">  设置下scope作用域, 作用域有四个,我这里设为session.

servlet中用session获取就行了。
String url=(String) request.getSession().getAttribute("demo");
                       
        System.out.println("url=" + url);
回复 使用道具 举报
xpaibeyond 发表于 2014-9-14 18:09
设置下scope作用域, 作用域有四个,我这里设为session.

servlet中用session获取就行了。

我按照你的做法去做了,也不行,应该要从<c:param name="uString" value="xxxxxx"/>里获取
回复 使用道具 举报
诺之忧 发表于 2014-9-14 21:44
我按照你的做法去做了,也不行,应该要从里获取

       你确实代码没错?     servlet 中获取域里的数据是要用getAttribute(); ,  不是getParameter();哟!!  
回复 使用道具 举报
是的,session是没有getParameter()这个方法
回复 使用道具 举报
本帖最后由 xpaibeyond 于 2014-9-15 00:02 编辑
诺之忧 发表于 2014-9-14 23:08
是的,session是没有getParameter()这个方法

   方法是肯定行的,如果解决不了你的问题我是不会乱给你说的。       <td>
            <c:url  value="/servlet/DemoServlet"  var="demo" scope="session">
                            <c:param name="xixi" value="ha"></c:param>
            </c:url>
            <a href="${demo}">删除</a>

        </td>

  获取到的结果在截图上,        仔细看看你自己的代码吧。。

11.jpg (182.13 KB, 下载次数: 41)

11.jpg
回复 使用道具 举报
<%@page import="org.springframework.web.context.request.RequestScope"%>
<%@ page language="java" import="java.util.*"  import="pojo.User" pageEncoding="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 'queryUser.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>
  <h3>查询用户:</h3>
  <form action="/info/UserSer" method="post">
I D <input type="text" name="uid"/><br>
   姓名<input type="text" name="uname"/><br>
   地址<input type="text" name="uaddress"/><br>
    <b>爱好:</b><c:forEach items="${applicationScope.ulikes}" var="ulike">
     ${ulike}<input type="checkbox" name="ulikes" value="${ulike}"/>
</c:forEach><br>
   <input type="submit" value="查询"/>
   <input type="hidden" name="user" value="queryUser"/>
  </form>
  <table border="1">
  <tr>
       <td>ID</td>
       <td>姓名</td>
       <td>爱好</td>
       <td>地址</td>
       <td>更新</td>
       <td>删除</td>
  </tr>
  <c:if test="${requestScope.usernumber==1}">
       <tr>
        <td>${requestScope.user.getId()}</td>
        <td>${requestScope.user.getName()}</td>
        <td>${requestScope.user.getLikes()}</td>
        <td>${requestScope.user.getAddress()}</td>
        <td>
        <c:url value="/addUser.jsp" var="upDate">
        <c:param name="uid" value="${requestScope.user.getId()}"/>
        <c:param name="uname" value="${requestScope.user.getName()}"/>
        <c:param name="ulikes" value="${requestScope.user.getLikes()}"/>
        <c:param name="uaddress" value="${requestScope.user.getAddress()}"/>
        </c:url>
        <a href="${upDate}">更新</a>
        </td>
   <td>
            <c:url value="/UserSer" var="delete" scope="request">
      <c:param name="url" value="delete" />
      <c:param name="uid" value="${requestScope.user.getId()}" />
   </c:url>
   <a href="${delete}">删除</a>
   </td>
   </tr>
  </c:if>
  <c:if test="${requestScope.usernumber==2}">
       <c:forEach items="${requestScope.users}" var="user">
       <tr>
        <td><c:out value="${user.id}" default="  "/></td>
        <td><c:out value="${user.name}" default="  "/></td>
        <td><c:out value="${user.likes}" default="  "/></td>
        <td><c:out value="${user.getAddress()}" default="  "/></td>
        <td>
        <c:url value="/addUser.jsp" var="upDate">
        <c:param name="uid" value="${user.id}"/>
        <c:param name="uname" value="${user.name}"/>
        <c:param name="ulikes" value="${user.likes}"/>
        <c:param name="uaddress" value="${user.address}"/>
        </c:url>
        <a href="${upDate}">更新</a>
        </td>
        <td>
            <c:url value="/UserSer" var="delete" scope="request">
      <c:param name="url" value="delete" />
      <c:param name="uid" value="${user.id}" />
   </c:url>
   <a href="${delete}">删除</a>
        </td>
       </tr>
       </c:forEach>
       <tr><td>一键删除</td></tr>
  </c:if>
  </table>
  </body>
</html>
回复 使用道具 举报
public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  request.setCharacterEncoding("utf-8");
  String req=request.getParameter("user");
  String url=request.getParameter("url");
  if(req.equals("addUser"))
  {
           String idstr=request.getParameter("userUp");
           //更新用户
           if(idstr.length()>=1)
           {
            User user=new User();
            int id=Integer.parseInt(idstr);
            String uname=request.getParameter("uname");
            String[] values=request.getParameterValues("ulikes");
            String ulikes=userImpl.joinString(values);
            String uaddress=request.getParameter("uaddress");
            user.setId(id);
            user.setName(uname);
            user.setLikes(ulikes);
            user.setAddress(uaddress);
            userImpl.upDate(user);
           }else{
            //添加用户
      User user=new User();
      String uname=(String)request.getParameter("uname");
            String[] uidvalues=request.getParameterValues("ulikes");
      String ulikes =userImpl.joinString(uidvalues);
      String uaddress=request.getParameter("uaddress");
      user.setName(uname);
      user.setLikes(ulikes);
      user.setAddress(uaddress);
      userImpl.insert(user);
           }
  }else if(req.equals("queryUser"))
  {   //查询用户
   User user=null;
   String id=request.getParameter("uid");
   if(id.length()!=0)
   {   //使用id查询单用户
    user=userImpl.select(Integer.parseInt(id));
    request.setAttribute("user", user);
    request.setAttribute("usernumber",1);
    RequestDispatcher dispat=request.getRequestDispatcher("/queryUser.jsp");
    dispat.forward(request, response);//响应
   }else
   {
    //模糊查询
    String name=request.getParameter("uname");
    String[] values=request.getParameterValues("ulikes");
    String address=request.getParameter("uaddress");
    String likes=userImpl.joinString(values);//字符串数组转换成字符
    user=new User();
    user.setName(name);
    user.setLikes(likes);
    user.setAddress(address);
    List<User> users=userImpl.select(user);
    request.setAttribute("usernumber", 2);
    request.setAttribute("users", users);
    RequestDispatcher dispat=request.getRequestDispatcher("/queryUser.jsp");
    dispat.forward(request, response);//响应
   }
  }
}
回复 使用道具 举报
xpaibeyond 发表于 2014-9-14 23:38
方法是肯定行的,如果解决不了你的问题我是不会乱给你说的。      
            
                    ...

这种获取方式,有点麻烦,有没有更加好的方式呢?麻烦你了,感激不尽啊
回复 使用道具 举报
url标签没有那个属性
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马