8

ユーザーのWebページの情報を編集しようとしているこのjspコードがあります。jsp プログラミングは初めてで、エラーが発生しています。これが私のコードです:

<%@page import="DatabaseTransactions.UserPhotosDataContext"%>
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
            if (session.getAttribute("id") == null) {
                response.sendRedirect(request.getContextPath() + "/sign-in.jsp");
            }

            int userId = Integer.parseInt(session.getAttribute("id").toString());
            ResultSet userInfo = UserPhotosDataContext.getUserProfileInfo(userId);
%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Edit Information</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <!-- Bootstrap -->
        <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
        <link href="styles.css" rel="stylesheet">
    </head>

    <body class="bodybg">
        <jsp:include page="/navigation.jsp"/>
        <% userInfo.next();%>

        <div class="boxouter" style="margin-top:50px;">
            <h3 class="muted">Edit Information</h3>
            <!--- more code here---->

                <br><br>
                <form id="update-form" method="" action="">
                    <table style="margin:auto">
                        <tr>
                            <!--username-->
                            <td>
                                <label>Username <span id="uname-error" class="form-error"></span></label>
                                <input type="text" title="Use at least 6 characters"
                                       name="username" id="uname"
                                       value="<%=userInfo.getString("username")%>"
                                       placeholder="Username" disabled="true">
                            </td>

                            <!--email-->
                            <td>
                                <label>Email <span id="email-error" class="form-error"></span></label>
                                <input type="text"
                                       name="email" id="email"
                                       value="<%=userInfo.getString("email")%>"
                                       placeholder="Email" disabled="true">
                            </td>
                        </tr>

                        <!--- more code here---->

                    </table>

                    <center/>
                    <button class="btn btn-info" onclick="enablefields();" id="enablebtn" style="visibility:visible">Edit Information</button>

                    <a id="savelink" href="#" style="color:white;">
                        <button class="btn btn-info" id="savebtn" type="submit" style="visibility:hidden">Save</button>
                    </a>

                    <a href="#" style="color:white">
                        <button class="btn btn-info" id="deactivatebtn" style="visibility:visible">Deactivate Account</button>
                    </a>
                </form>
            </div>
        </div>


        <br><br>

        <!--- more code here---->

    <script type="text/javascript">
        function setValues() {
            if ("<%=userInfo.getString("gender")%>" == "Male")
            $('select option:contains("Male")').prop('selected',true);

            else if ("<%=userInfo.getString("gender")%>" == "Female")
            $('select option:contains("Female")').prop('selected',true);
        }

        window.onload = setValues;

    </script>

    <script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-modal.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-popover.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-modalmanager.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/editinfo.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/holder.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/logout.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-dropdown.js"></script>
</body>
</html>

実行すると、次のエラーが表示されます。

org.apache.jasper.JasperException: 61 行目で JSP ページ /editinfo.jsp を処理中に例外が発生しました

61 行目は次のとおりです。

value="<%=userInfo.getString("email")%>"

この行を削除すると、完全に正常に動作します (ただし、値を取得するにはこれが必要です)。61行目を保持してこれを削除しようとすると:

value="<%=userInfo.getString("username")%>"

これは私のページの 52 行目にありますが、まだ機能しません。

また、52 行目を 61 行に置き換えると、機能します。

次のエラーも表示されます。

javax.servlet.ServletException: java.sql.SQLException: 列 'email' が見つかりません。java.sql.SQLException: 列 'email' が見つかりません。

しかし、データベースに電子メール列があることは 100% 確信しています。また、データベースの他の列に対してこれを試みると、同じエラーが返されます。「ユーザー名」列の場合にのみ機能します。私を助けてください。これを修正するにはどうすればよいですか?

4

5 に答える 5

0

式タグは <%= ....... > を意味します

式の最後にセミコロン(;)を付けています。

value='<%= userInfo.getString("email") ; %>'

うまくいくと思いますので、ぜひお試しください。

于 2013-08-08T09:39:18.303 に答える
0

次の方法を試してください。

value='<%=userInfo.getString("email")%>'

それで問題は解決しますか?実際、一重引用符は問題を引き起こす可能性があります

于 2013-08-08T09:37:06.393 に答える
0

試す:

value "<%= userInfo.getString("email") %>"

また

value <%= userInfo.getString("email") %>

;式を使用する場合はいいえ<%= %>

=また、記号は 2 つ必要ではなく、内側に 1 つだけ必要だと思います<%= %>

于 2013-11-13T18:54:06.080 に答える