我有一个register.jsp
文件。它从提交的表单中读取变量,如下所示:
<%
if(request.getParameter("username") != null && request.getParameter("password") != null){
String username = request.getParameter("username");
String password = request.getParameter("password");
}
%>
我有一个java bean如下。
public class RegistrationBean {
// Constructor
public RegistrationBean(){}
public boolean login(String username, String password){
boolean result = false;
System.out.println("username");
if(username.equals("username") && password.equals("admin")){
result = true;
}
return result;
}
}
现在我试图在我的jsp文件中调用此登录函数,如下所示。我也在我的jsp文件的顶部添加了useBean。
<jsp:useBean id="register" class="registration.RegistrationBean" scope="session" />
<%
if(request.getParameter("username") != null && request.getParameter("password") != null){
String username = request.getParameter("username");
String password = request.getParameter("password");
if(register.login(username, password)){
// do something
}
%>
但我意识到用户名和密码的值没有传递给bean。但是当我在.jsp文件中打印它时,它具有适当的值。是否有任何原因导致该值未传递给login()函数中的函数。无论我做什么,它都是假的。
感谢。
答案 0 :(得分:1)
属性值request.getParameter(“sn”)引用“必须在值中使用时进行转义
当我使用value =“&lt;%= request.getParameter(”val“)%&gt;”/&gt;“运行我的页面时,会出现以上消息
答案 1 :(得分:0)
这应该真的有效。 但是,这是让它发挥作用的另一种方式:
<jsp:useBean id="register" class="registration.RegistrationBean" scope="session">
<jsp:setProperty name="register" property="username" value="<%=request.getParameter("username")%>"/>
<jsp:setProperty name="register" property="password" value="<%=request.getParameter("password")%>"/>
<jsp:useBean />
在username
课程中为password
和RegistrationBean
添加setter和getter。 username
和password
将是类变量。将login
函数设为非参数化,即将其称为register.login()
。