4

私は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>

ただし、これを行うと、「"AssignmentOperator Expression" を挿入して Expression を完成させる」というエラーが <% str; に対して発生します。&> が与えられます。

ありがとう、

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%>"><%=str%></a> 言ったように私はそれを編集しました。

于 2013-05-13T13:22:04.497 に答える