首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSP和Servlet Java的消息提示

使用JSP和Servlet Java的消息提示
EN

Stack Overflow用户
提问于 2013-07-06 10:50:05
回答 1查看 2.8K关注 0票数 0

我正在尝试在登录时使用Javascript和JSP实现警报提示,但我看不到成功。到目前为止,我得到的只是一条错误消息,我希望将其作为提示。请帮帮忙。这就是我所拥有的:

Servlet端:

代码语言:javascript
复制
String userValidate = logindao.authenticateUser(loginbean);
        if(userValidate.equals("SUCCESS")){
            request.setAttribute("userName", userName);
            request.getRequestDispatcher("/Home.jsp").forward(request, response);
        }else{
            request.setAttribute("errMessage", userValidate);
            request.getRequestDispatcher("/Login.jsp").forward(request, response);
        }

我的JSP端:

代码语言:javascript
复制
<td><%=(request.getAttribute("errMessage") == null)
                                    ? ""
                                    : request.getAttribute("errMessage")%></td>

我的刀:

代码语言:javascript
复制
public class LoginDao {
    public String authenticateUser(LoginBean loginbean){
        String userName = loginbean.getUserName();
        String password = loginbean.getPassword();

        Connection conn = null;
        String userNameDB = "";
        String passwordDB = "";
        DBConnection db = new DBConnection();
        try{
            conn = db.getDbConnection();
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery("SELECT USER_NAME, P_WORD, WORK_CLASS FROM USER_LOGIN "
                    + "where USER_NAME = '" + userName + "'");

            while(rs.next()){
                userNameDB = rs.getString("USER_NAME");
                passwordDB = rs.getString("P_WORD");
            }
            if(userName.equalsIgnoreCase(userNameDB)&& password.equalsIgnoreCase(passwordDB)){
                return "SUCCESS";
            }
            if(userName.equals("") || password.equals("")){
                return "Username or Password is blank";
            }
        }catch(Exception asd){
            System.out.println(asd);
        }
        return "invalid user credentials";
    }
}

如果证书是错误的,我得到的所有错误信息都打印在Page.How上,我可以将此作为提示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-06 11:47:00

在JSP中添加以下内容

代码语言:javascript
复制
<c:if test="${not empty errMessage}">
    <script>alert("${errMessage}");</script>
</c:if>

我使用EL是因为在JSP中不推荐使用scriptlet。${attr}语法只是按顺序从页面、请求、会话或应用程序作用域中提取一个名为attr的属性的值作为测试。

编辑:(调试为)

代码语言:javascript
复制
<p>errMessage is: '<%= request.getAttribute("errMessage") %>'</p>
<c:if test="${not empty errMessage}">
    <script>alert("${errMessage}");</script>
</c:if>
<% request.setAttribute("errMessage", "forced error message"); %>
<c:if test="${not empty errMessage}">
    <script>alert("${errMessage}");</script>
</c:if>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17499195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档