4

我是 JSP 的新手。我知道这是基本问题。但我做不到。我想要的是在这个 jsp 页面中创建一个链接。但是,其他页面将根据登录而有所不同。如果正确,则必须显示指向正确.jsp 的链接,如果登录不正确,则必须显示指向 login.jsp 的链接。

<%
    String str = "";
    String userid = request.getParameter("usr");
    session.putValue("userid", userid);
    String pwd = request.getParameter("pwd");
    Class.forName("com.mysql.jdbc.Driver");
    java.sql.Connection con = DriverManager.getConnection(
            "jdbc:mysql://localhost:3306/pr", "root", "xxx");
    Statement st = con.createStatement();
    ResultSet rs = st
            .executeQuery("select * from a where name='"+ userid + "'");
    if (rs.next()) {
        if (rs.getString(2).equals(pwd)) {
            out.println("welcome " + userid);
            str = "correct.jsp";
        } else {
            out.println("Invalid password try again");
            str = "login.jsp";
        }
    }
%>

<a href=str> <% str; &> </a>

但是,当我这样做时,<% str; 的“插入“AssignmentOperator 表达式”以完成表达式的错误;&> 给出。

谢谢,

4

4 回答 4

2
<%
String str = "";
String userid = request.getParameter("usr");
session.putValue("userid", userid);
String pwd = request.getParameter("pwd");
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/pr", "root", "xxx");
Statement st = con.createStatement();
ResultSet rs = st
        .executeQuery("select * from a where name='"+ userid + "'");
if (rs.next()) {
    if (rs.getString(2).equals(pwd)) {
        out.println("welcome " + userid);
       // str = "correct.jsp";  
   %>
       <jsp:forward page="correct.jsp"></jsp:forward>
    <%
    } else {
        out.println("Invalid password try again");
       // str = "login.jsp"; 
   %>

       <jsp:forward page="login.jsp"></jsp:forward>
    <%
    }
}
%>

这似乎是使用 jsp:forward 标记的标准方法。

于 2013-05-13T13:48:44.177 回答
0

你的意思?

<a href="<%=str%>"> the_link </a>
于 2013-05-13T13:19:23.877 回答
0

你可以使用<a href="<%=str%>"><%=str%></a> 我已经按照你说的编辑了它。

于 2013-05-13T13:22:04.497 回答
0

在这种情况下,为了输出字符串 str,您可以使用以下表达式 <%=str%>。因此<a href="<%=str%>">my link </a>应该这样做

于 2013-05-13T13:25:07.310 回答