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 急急急..谢谢了. 展开
<%@ 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 急急急..谢谢了. 展开
展开全部
<%--判断查询结果--%>
<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中或者使用框架会很好处理
<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中或者使用框架会很好处理
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询