“表格” - If-else声明

时间:2009-11-15 17:06:14

标签: java jsp

我正在努力实现一个简单的形式:

有一个globalname和globalpass,要求用户输入他的姓名并通过。

If name == globalname and pass = globalpass -> "Hello name"
If name == blank or pass == blank -> "O NOEZ, you fergit sumpn!"
If name != globalname or pass != globalpass -> "WHUT? Who be you, intruder?"

到目前为止,我只能设法获得第一个if-working ...

<% 
  String name = request.getParameter("name");
  String pass= request.getParameter("pass");
  String globalname = "webeng";
  String globalpass = "2009";
  if (name !=null && pass!=null && name.equals(globalname) && pass.equals(globalpass))
   {
%>
    <jsp:include page="formular-modul1.jsp" />
<% } else
   {
%>
<% }
%>

<%
 else if (name =="b" && pass =="c" && name.equals("b") && pass.equals("c"))
  {
%>
    <jsp:include page="formular-modul2.jsp" />
<%} else
    {
%>
<%
}%>

名称==“b”&amp;&amp; pass ==“c”仅用于测试目的,但失败了!请问有人帮帮我吗?

2 个答案:

答案 0 :(得分:2)

字符串是对象,而不是基元。使用==比较对象时,如果两者都指向相同的引用,则只返回true。它不测试对象的值。那里你已经有Object#equals()了。

除了这个问题之外,在JSP文件中使用那些旧式的scriptlet是一种不好的做法。在这种特定情况下,您最好使用Servlet类。祝你好运。

答案 1 :(得分:0)

现在就开始工作了。

<% 
  String name = request.getParameter("name");
  String pass = request.getParameter("pass");
  String globalname = "webeng";
  String globalpass = "2009";
  if (name !=null && pass!=null && name.equals(globalname) && pass.equals(globalpass))
   {
   %>
    <hr />
    <p><b>Howdy, <%= request.getParameter("name") %></b></p>
    <hr />
<% }
  else if (name !=null | pass!=null && name.equals("") | pass.equals(""))
  {
  %>
    <hr />
    <p><b>Ooops, one or more fields are empty. Please fill everything out!!</b></p>
    <hr />
<% }
  else if (name !=null | pass!=null && !name.equals(globalname) | !pass.equals(globalpass))
  {
  %>
    <hr />
    <p><b>Incorrect Userdata!</b></p>
    <hr />
<% }
  else{
  }
%>

现在我需要使用.toLowercase。

表示名称和传递必须转换为.toLowercases THEN使用。有人有任何想法吗?只需使用newname = name.toLowercase();或newpass = pass.toLowercase();不起作用!