当前位置:编程学习 > JAVA >>

友们帮帮忙呗。。。。。。。

我做的是一个更新操作、首先肯定是要获得数据库里的数据根据用户点击的id获取。然后怎样放入文本框里啊 、以下是我的代码请高手指点。
   这是servlet里的代码获取数据库里的数据。   
ListInfo li=new ListInfo();
    String id= request.getParameter("id");
    int ids=Integer.parseInt(id);
List<SubwayInfo> list=li.ByidGetInfo(ids);
request.getSession().setAttribute("list", list);
request.getRequestDispatcher("update.jsp").forward(request, response);

以下应该怎样放入文本框里啊?求指点、这下面是jsp里的代码。
    <form action="NewUpdate" method="post">
<table align="center">
<c:if test="${not empty sessionScope.list}" >
<tr><td>列车线路:<input type="text" name="name" id="name"   value="${sessionScope.list.id}" /><input type="hidden" name="id" id="id"  value="${sessionScope.list.id}"/></td></tr>
<tr><td>始点站:<input type="text" name="start" id="start"   value="${sessionScope.list.startstation}" /></td></tr>
<tr><td>时刻表:<input type="text" name="time" id="time"   value="${sessionScope.list.starttime}" /></td></tr>
<tr><td>价     格:<input type="text" name="price" id="price"   value="${sessionScope.list.price}" /></td></tr>
</c:if>
<tr><td><input type="submit" value="更新" /></td></tr> --------------------编程问答-------------------- 坐等高手、指点。 --------------------编程问答-------------------- 是不是不显示数据
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
isELIgnored="false"加上试试 --------------------编程问答-------------------- 首先List<SubwayInfo> list=li.ByidGetInfo(ids);
这句代码、你根据id获取的应该只有一条数据、那ByidGetInfo直接返回SubwayInfo对象就好、不用返回list了!
   SubwayInfo infoSubway = li.ByidGetInfo(ids);
   request.setAttribute("infoSubway ", infoSubway);
  存在request范围就OK了!
不用存session吧?
页面:
<input type="text" name="id" id="id" value="${infoSubway.id}" />
这样就OK了!!!
   --------------------编程问答-------------------- 如果你非要用list、那么就用<c:forEach>标签。
假设你的list存储在request范围(request.getSession().setAttribute("list", list));

<c:forEach items="${list}" var="infoSubway" >
<tr>
<td>
列车线路:<input type="text" name="name" id="name" value="${infoSubway.id}" />
<input type="hidden" name="id" id="id" value="${infoSubway.id}"/>
</td>
</tr>
<tr>
<td>
始点站:<input type="text" name="start" id="start" value="${infoSubway.startstation}" />
</td>
</tr>
<tr>
<td>
时刻表:<input type="text" name="time" id="time" value="${infoSubway.starttime}" />
</td>
</tr>
<tr>
<td>价 格:<input type="text" name="price" id="price" value="${infoSubway.price}" />
</td>
</tr>
--------------------编程问答--------------------
引用 3 楼  的回复:
首先List<SubwayInfo> list=li.ByidGetInfo(ids);
这句代码、你根据id获取的应该只有一条数据、那ByidGetInfo直接返回SubwayInfo对象就好、不用返回list了!
   SubwayInfo infoSubway = li.ByidGetInfo(ids);
   request.setAttribute("infoSubway ", ……

直接可以用SubwayInfo 接受 可以、 把信息存在request也行,
页面直接就那样? --------------------编程问答-------------------- 3楼正确,我没注意看,如果el表达式不好使,就加上isELIgnored="false" --------------------编程问答-------------------- 记得在JSP页面导入标签库:

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


-----------------------------
问题如果解决了记得结贴啊亲!!! --------------------编程问答--------------------
引用 4 楼  的回复:
如果你非要用list、那么就用<c:forEach>标签。
假设你的list存储在request范围(request.getSession().setAttribute("list", list));
HTML code

<c:forEach items="${list}" var="infoSubway" >
<tr>
<td>
列车线路:<input type="text" name……


只有一条数据不用foreach 我现在只是不知道放入文本框框里去 --------------------编程问答--------------------   都来看看呗 --------------------编程问答-------------------- 可能是你之前查询数据库信息的代码有错误,仔细检查一遍,语法上也别出错,再试试,我以前遇到过这种问题 --------------------编程问答--------------------
引用 10 楼  的回复:
可能是你之前查询数据库信息的代码有错误,仔细检查一遍,语法上也别出错,再试试,我以前遇到过这种问题


我跟断点了 、查询没事就是页面报错。
严重: Servlet.service() for servlet update threw exception
javax.el.PropertyNotFoundException: Property 'SubwayNama' not found on type entity.SubwayInfo

总是报这样的错误、而且我的实体类有这一属性。  
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,