1

いくつかのフレームを含むページデザインがあります。左側のフレームには、クリックすると他のフレームに移動する必要があるメニューがありますが、指定されたフレームに読み込まれず、同じフレームに読み込まれます。リンクが指定されている場所。

Javaコードで次のようにハイパーリンクを作成します。

left_menu_HTML.append("<a href=\"#\" target=\"workFrame\" onclick=\"getMenuRequest('"+model.getResource_name()+"','goToHome')\">"+model.getMenu_name()+"</a>");

ユーザーがリンクをクリックすると、Struts1.2.9を使用します。このようなアクションを呼び出します

function getMenuRequest(actionName,methodName){
   document.forms[0].action=actionName+".htm";
   document.forms[0].method.value=methodName;
   document.forms[0].submit();
}

アクションクラスのメソッドは次のようになります

public ActionForward goToHome(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    //call method to verify Pagetoken
    forwardRequestTo = "departmentHome";
    return mapping.findForward(forwardRequestTo);
}

とこのためのマッピング

<action path="/common/DepartmentAction"  name="SecurEyesForm" type="com.secureyes.eswastha.struts.action.DepartmentAction" scope="request" parameter="method" validate="false">
    <forward name="departmentHome" path="/WEB-INF/Masters/DepartmentMaster.jsp"></forward>            
</action>

これがフレームの配置方法です。

</head>
    <frameset border="0" frameborder="0" framespacing="0" rows="64,*">
            <frame border="0" frameborder="0" framespacing="0" id="topFrame" name="topFrame" src="<%=resourcePath%>/common/header.jsp" marginheight="0" marginwidth="0" noresize="noresize" scrolling="no">
            <frameset border="0" frameborder="0" framespacing="0" id="MainFrameSet" cols="209,*">
                    <frame noresize="noresize" border="0" frameborder="0" framespacing="0" id="leftFrame" name="leftFrame" src="<%=resourcePath%>/common/left_menu.jsp" scrolling="auto">
                    <frame border="0" frameborder="0" framespacing="0" id="workFrame" name="workFrame" src="<%=resourcePath%>/common/WelcomePage.jsp" marginheight="7" marginwidth="7" noresize="noresize" scrolling="auto">
            </frameset>
    </frameset>
</html>

これを解決するのを手伝ってください、

同じフレームに読み込まれる理由がわからず、理解できません。

4

1 に答える 1

1

コードは問題ないようです。

どの種類のDTDを使用していますか?なぜなら、W3Cの仕様によれば、

1)ターゲット属性はHTML5でサポートされています。

2)ターゲット属性はHTML4.01では非推奨です。

3)フレームとフレームセットはHTML5でサポートされていないため、_parent、_top、framenameの値は主にiframeで使用されるようになりました。

編集:

jspページの最初の行に、コードを解釈する方法をブラウザーに指示するDTDを定義する必要があります(実行する方がよいです;)。指定しない場合、ブラウザはクァークズモードになり、ページのDTDをそのコンテンツによって「予測」しようとします(不思議な結果になります)。指定する場合は、W3CサイトにあるそのDTDの「ルール」を尊重する必要があります。ちなみに、それらはすべてウィキペディアに掲載されています。

http://en.wikipedia.org/wiki/Document_Type_Definition

そして、これはDTDがどのように見えるかです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

参考までに、選択したDTDに基づいて、公式のW3Cバリデーターページでページを検証できます:http://validator.w3.org/#validate_by_input

お役に立てば幸い

于 2012-10-18T10:15:51.963 に答える