我正在努力实现一个简单的形式:
有一个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”仅用于测试目的,但失败了!请问有人帮帮我吗?
答案 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();不起作用!