0

以下に示すように、「menubar.jsp」という名前のページを作成しました。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib prefix="sj" uri="/struts-jquery-tags"%>

    <html>
    <head>
        <s:head/>
        <sj:head/>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    </head>
    <body>
        <div id='cssmenu'>
                <ul>
                    <li><s:a action="#"><span>Home</span></s:a></li>
                    <li><s:a action="registerLink"><span>Register</span></s:a></li>

                    <s:url  id="loginClick" value="/loginLink.action"></s:url>
                    <li><sj:a id="login_click" href="%{loginClick}" targets="mainContent"><span>Login</span></sj:a></li>
                    <li><s:a action="loginLink"><span>Administration</span></s:a></li>
                    <li class='last'><s:a action="#"><span>Preferences</span></s:a></li>
                </ul>
        </div>
    </body>
    </html>

次のように、このページを index.jsp ページに含めました。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="style.css" media="all" />

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

<script>
    $(function() {
        $("#datepicker").datepicker();
    });
</script>

<title>My Air - Home</title>
</head>
<body>
    <div id="MainPage">
        <jsp:include page="header.jsp"></jsp:include>
        <jsp:include page="menubar.jsp"></jsp:include>
        <div id="mainContent">
            <div id="ContentLeft">
                <jsp:include page="search.jsp"></jsp:include>
            </div>

            <div id="contentRight">
                <jsp:include page="topdeals.jsp"></jsp:include>
            </div>
        </div>
        <br>
        <jsp:include page="footer.jsp"></jsp:include>
    </div>
</body>
</html>

私が欲しいのは、LOGINリンクをクリックすると、loginPage.jspという名前のログインページが、IDが「mainContent」のdivに表示されることです。

struts.xml ファイルは次のとおりです。

<action name="loginLink" class="com.view.LoginAction" method="loginLink">
    <result name="loginClicked">/loginPage.jsp</result>
</action>

クラス LoginAction の loginLink メソッドは、単純に「loginClicked」文字列を返します。コードを実行し、そのソースを確認しました。そこにはすべて問題ないように見えますが、ログインをクリックしても何も起こりません。別のファイルで同じ種類のコードを使用しました。うまくいきました。しかし、ここではそうではありません。私が欠けているもの、またはそれを機能させるために他に何をすべきか、誰かが私を助けることができますか? 前もって感謝します。

次のコードも同様のことを試みており、正常に動作します。最初のコードで何が間違っているのかわかりません:

以下は、私の親ページ loginSuccess.jsp です。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<title>Login</title>
</head>
<body>
    <div id="MainPage">

        <jsp:include page="header.jsp"></jsp:include>
        <jsp:include page="menubaruser.jsp"></jsp:include>
        <div style="width:898px"><br><center>Welcome Mr. <b><s:property value="#session.name"/> </b></center> </div>
        <div id="mainContent">

           <div id="ajaxdiv">
            <div id="ContentLeft">
                <jsp:include page="search.jsp"></jsp:include>
            </div>
            <div id="contentRight">
                <jsp:include page="topdeals.jsp"></jsp:include>
            </div>
           </div>
            <br>
            <div>
                <jsp:include page="userHistoryWidget.jsp"></jsp:include>
            </div>

        </div>      
        <jsp:include page="footer.jsp"></jsp:include>
    </div>
</body>
</html>

以下は、いくつかの ajax 呼び出しを含み、loginSuccess.jsp の mainContent div に応答を入れる子ページ menubaruser.jsp です。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
    <s:head/>
    <sj:head/>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
    <div id='cssmenu'>
            <ul>
                <li><s:a action="#"><span>Home</span></s:a></li>
                <s:url  id="showProfile" value="/profile.action"></s:url>
                <li><sj:a id="profile_show" href="%{showProfile}" targets="mainContent"><span>Show Profile</span></sj:a></li>
                <s:url  id="editProfile" value="/editProfileLink.action"></s:url>
                <li><sj:a id="profile_edit" href="%{editProfile}" targets="mainContent"><span>Update Profile</span></sj:a></li>
                <s:url  id="signout" value="/logout.action"></s:url>
                <li><sj:a id="signout" href="%{signout}" targets="mainContent"><span>Sign Out</span></sj:a></li>
                <%-- <li class='last'><s:a action="#"><span>Contact Us</span></s:a></li> --%>
            </ul>
    </div>
</body>
</html>

以下は、私の struts.xml マッピングです。

<action name="profile" class="com.view.ProfileAction" method="showProfile">
            <interceptor-ref name="myinterceptorSt" />
            <result name="loginSessionNotCreated">/loginPage.jsp</result>
            <result name="profile">/profile.jsp</result>
        </action>

        <action name="editProfileLink" class="com.view.ProfileAction" method="editProfileLink">
            <interceptor-ref name="myinterceptorSt" />
            <result name="loginSessionNotCreated">/loginPage.jsp</result>
            <result name="editProfile">/editProfile.jsp</result>
        </action>

        <action name="editProfile" class="com.view.EditProfileAction" method="editProfile">
            <interceptor-ref name="myinterceptorSt" />
            <result name="loginSessionNotCreated">/loginPage.jsp</result>
            <result name="profileUpdated">/profileUpdated.jsp</result>
        </action>

このコードは正常に動作します。私は最初の問題で同じことを実装しました。しかし、うまくいきません。何か提案できますか?

4

0 に答える 0