有A.JSP   servlet 和B.jsp,,代码如下,没有报错,但结果不正确。望改正。
A.jsp代码:
<form name="form1"  target="frame2" action="AServlet?action=search" method="POST"><table>
<tr><td><select name=selectopt onchange="change()">
<option value=1>请选择</option>
<option value=eno>编号</option>
<option value=ename>名字</option>
<option value=esex>性别</option>
<option value=gz>工作</option>
<option value=ezc>职称</option>
</select></td>
<td><input type="text" name="Submitselect" ></td>
<td colspan="2" align="center"><input type="submit" name="SubmitA" value="SubmitA"></td></tr> 
</table>
</form>SERVLET 代码:
if ("search".equalsIgnoreCase(action)) {
String selectopt = request.getParameter("selectopt");
String Submitselect = request.getParameter("Submitselect");
String sql = "select * from zg where " + selectopt + "="
+ Submitselect ;
try {
sqlBean db = new sqlBean();
ResultSet rs = db.executeQuery(sql);
if (rs.next()) {
HttpSession session = request.getSession();
session.setAttribute("eno", rs.getString(1));
session.setAttribute("ename", rs.getString(2));
session.setAttribute("esex", rs.getString(3));
session.setAttribute("gz", rs.getString(4));
session.setAttribute("ezc", rs.getString(5));
response.sendRedirect("B.jsp?eno=" + eno + "&ename="
+ ename + "&ensex=" + esex + "&gz=" + gz + "&ezc="
+ ezc + "&flag=true");
} else { response.sendRedirect("B.jsp?flag=false");
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}B。jsp中代码:
<div style="border: 1px solid;width:300px;height:50px"><table border="0" width="100%">
查询结果:
<% String flag="init";
if(request.getParameter("flag")!=null){flag=request.getParameter("flag");};
out.print(flag);
if(flag.equals("true")){
String eno=(String)request.getParameter("eno");
String ename=(String)request.getParameter("ename");
String esex=(String)request.getParameter("esex");
String gz=(String)request.getParameter("gz");
String ezc=(String)request.getParameter("ezc");%>
<tr><td>eno:${eno} </td><td>ename:${ename}</td></tr>
<tr><td>esex:${esex}</td><td>gz:${gz }</td></tr>
<tr><td>ezc:${ezc}</td></tr>
 <% }
else if(flag.equals("false")){out.print("查询失败!");}
 else out.print("在这里显示!");%>
</table></div>

解决方案 »

  1.   

    你在servlet中都已经session.setAttribute了,在页面直接显示就行。
      

  2.   

    页面上 session.getAttribute() 取对象
      

  3.   

    你存到了session,怎么到request去取值
      

  4.   

    你存到了session,怎么到request去取值
    直接用session.getAttribute() 取对象就好了
      

  5.   

    LZ可是说说结果那里不对劲啊?
    我有疑问:
    String selectopt = request.getParameter("selectopt");
    String Submitselect = request.getParameter("Submitselect");
    String sql = "select * from zg where " + selectopt + "="
    + Submitselect ;
    这俩变量是Stirng型的吧 那么你的SQL语句 是否改变呢  我很怀疑你的数据能查询出来么  还有  确保查询得到的数据在你的数据库里面只有一条么  用个if()判断 还有 既然LZ在jsp页面中用到了 EL  建议不要用<%%>了  可以配合JSTL  这样看起就比较规范了 不那么冗余
      

  6.   

    汗! 放在session里的东西到request里去取!? 建议楼主用EL表达式!