当前位置: 代码迷 >> 其他开发语言 >> JSP编程解决思路
  详细解决方案

JSP编程解决思路

热度:85   发布时间:2016-05-02 03:58:42.0
JSP编程
请问下面的代码每次运行出来都是输出else后面的部分,前面的if部分为什么输不出来呀?求大神们指导,谢谢~~
<!-- 这是login_session.jsp文件 -->
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>
<html>
<head>
</head>
<body color="#FFFFFF">
<%
  String login_name=request.getParameter("login_name");
  String userType=request.getParameter("userType");
  if(login_name.equals("A") && userType.equals("普通用户")){
  session.setAttribute("name",login_name);
  session.setAttribute("type",userType);
%>
 <jsp:forward page="vip.jsp"/>
<% 

  else if(login_name.equals("B") && userType.equals("VIP用户")){
  session.setAttribute("name",login_name);
  session.setAttribute("type",userType);
%>  
<jsp:forward page="common.jsp"/>
<%
}
  else
  {
%>
<h3><font color="red">您未输入姓名,请输入你的姓名!<br><br>(5秒钟后将自动跳转到登录界面)</font></h3>
<meta http-equiv="Refresh" content="5;url=login_session.html">
<% } %>
</body>
</html>

------解决思路----------------------
请求数据没有传过来,把请求页面的代码贴出来。
请求URL应该是像这样的:
http://127.0.0.1:8080/WebProject/login_session.jsp?login_name=A&userType=VIPUser

你的userType 都有中文呢?有可能是中文乱码了,所以equals起来当然就false了呀。你可以把值打印出来:
<%
}
  else
  {
%>
login_name:<%=login_name%>
userType:<%=userType%>
<br>
<br>
<br>
<h3><font color="red">您未输入姓名,请输入你的姓名!<br><br>(5秒钟后将自动跳转到登录界面)</font></h3>
<meta http-equiv="Refresh" content="5;url=login_session.html">
<% } %>
</body>
  相关解决方案