我有一个用于登录过程的servlet类,如果用户名或密码不正确我想为请求设置两个属性,一个属性是布尔authentication_error
,第二个是字符串authentication_error_message
。< / p>
如果authentication_error_message
为真,我想制作条件声明以打印authentication_error
。
req.setAttribute("authentication_error", false);
if(!query.list().isEmpty()){
List<?> list = query.list();
Admin student = (Admin)list.get(0);
req.setAttribute("username", student.getUsername());
}
else{
req.setAttribute("authentication_error_message", "username or password is incorrect!");
req.setAttribute("authentication_error", true);
}
req.getRequestDispatcher("/views/login.jsp").forward(req, res);
如何在jsp中编写此语句?
N.B:更喜欢不使用jstl。
答案 0 :(得分:2)
不建议使用Scriptlet,JSTL是实现这些方案的方法。 话虽如此,不同的方式可能是scriptlet。
Scriptlet语法示例:
<%
String userName="";
if(statement){
userName=request.getParameter("userName");
}
%>
请参阅此处的来源Java code inside JSP page。
如何避免使用scriptlet How to avoid using scriptlets in my JSP page?
答案 1 :(得分:0)
如果您不喜欢使用JSTL,可以使用scriplet。
下面的代码片段演示了如何在JSP中使用条件语句。
<% if("true".equals (request.getParameter ("authentication_error"))) {
%>
authentication_error_message
<% }
else {
%>
Other Message
<% } %>