jstl高手看下我这哪里出错了?

<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%><%@tagliburi="http://ja... <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="users" class="entity.User" scope="session" />
<jsp:setProperty property="*" name="users" />

<%--创建数据源--%>
<sql:setDataSource var="pubs"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=BBS" user="sa"
password="" />
<%--封装用户名密码--%>
<%
String uname=request.getParameter("uname");
String upwd=request.getParameter("upwd");

%>
<%--执行查询语句--%>
<sql:query var="en" dataSource="${pubs}"
sql="select * from BBS.dbo.[User] where uName=? and Upass=?" >
<sql:param value="<%=uname %>"/>
<sql:param value="<%=upwd %>"/>
</sql:query>
<%--判断查询结果--%>
<c:forEach var="for" items="${en.rows}">
<c:choose>
<c:when test="${en!=null}">
<%
session.setAttribute("user",uname);
session.setAttribute("upwd",upwd);
response.sendRedirect("index.jsp");
%>
</c:when>
<c:otherwise><%response.sendRedirect("doLogin.jsp"); %> </c:otherwise>
</c:choose>
</c:forEach>

如果找到数据 跳转到主页面index.jsp 如果没有找到就跳到报错页面 doLogin.jsp页面,
测试后发现 我输入正确的账号密码 他可以去主页面
如果我输入错误的它不会走下面的<c:othrtwise/>块,不进行跳转就呆在本页上..
这事什么原因啊?
高手帮下忙....
在线等 QQ:9975478 急急急..谢谢了.
展开
 我来答
闲杂人等_
2009-05-29 · TA获得超过168个赞
知道小有建树答主
回答量:47
采纳率:0%
帮助的人:36.9万
展开全部
<%--判断查询结果--%>
<c:forEach var="for" items="${en.rows}">
<c:choose>
<c:when test="${en!=null}">
<%
session.setAttribute("user",uname);
session.setAttribute("upwd",upwd);
response.sendRedirect("index.jsp");
%>
</c:when>
<c:otherwise><%response.sendRedirect("doLogin.jsp"); %> </c:otherwise>
</c:choose>
</c:forEach>

你仔细看下这段代码
注意jstl的迭代方式
如果不是正确的账户和密码
这能循环吗
连循环都没进入怎么判断啊
这个业务根本不需要循环的
一个多分支判断就可以了
弄多了不是多余吗

改就不帮你改了
我想这样你应该知道怎么弄了

最后给你个建议
jsp页面中不要加入链接数据库的语句这样使页面以后维护和安全方面效率非常低
将这个放到servlet中或者使用框架会很好处理
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式