-1

Spring Web フローでタイルを使用しました。これは私の標準の jsf ファイルです。

standard.xhtml

      <f:view contentType="text/html">

   <h:head >
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Nagra Employee Leave Application</title>
<link rel="stylesheet" href="${request.contextPath}/styles/blueprint/screen.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="${request.contextPath}/styles/blueprint/print.css" type="text/css" media="print" />

<link rel="stylesheet" href="${request.contextPath}/styles/le-frog/jquery-ui-1.8.2.custom.css" type="text/css" media="screen" />
<ui:insert name="headIncludes"/>
<style>

</style>
  </h:head>
   <h:body  style="background:#343433" >
   <div class="container" style="background:white;">


    <a href="#{request.contextPath}"><img src="${request.contextPath}/images/rubon1.jpg" height="200" width="950" alt="Spring Travel"/></a>


<div>
    <div id="local" class="span-4 colborder" style="padding-top: 20px;
    padding-left: 21px;">
        <h3>Nagra Vision</h3>
        <ui:insert name="notes"/>
    </div>
    <div class="span-19 last" style="width: 720px;">
        <ui:insert name="content"/>
    </div>
</div>

<div>
    <a href="http://www.nagra.com">
        <img src="${request.contextPath}/images/nagra_footer.png" alt="Powered by Nagra-India" />
    </a>
</div>
 </div>
 </h:body>

ログイン.xhtml

 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
template="/WEB-INF/layouts/standard.xhtml">

<ui:define name="content">
    <h:form style="margin-top:10px;">
        <div>
            <h:outputLabel for="username">Username:    </h:outputLabel>
            <h:inputText id="username" value="#{userInfo.username}">          </h:inputText>
        </div>
        <div>
            <h:outputLabel for="password">Password:    </h:outputLabel>
            <h:inputSecret id="password" value="#{userInfo.password}">
            </h:inputSecret>
        </div>
        <div>

            <h:selectBooleanCheckbox id="leavetype"
                value="#{userInfo.loginperson}">
                <f:selectItems value="#{referenceData.loginPersonOptions}" />
            </h:selectBooleanCheckbox>
            <h:outputLabel for="password">Select you are a manager</h:outputLabel>
        </div>

        <div>
            <p:commandButton id="Signin" action="click" value="Sign In"
                style="margin-left:80px;" />
        </div>
    </h:form>
</ui:define>

メインページ.xhtml

 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
template="/WEB-INF/layouts/standard.xhtml">
<ui:define name="notes">
    <h:outputLabel for="employee">${loginperson.username}</h:outputLabel>
    <h:form>
    <div>   <h:commandLink value="Sick Leave" action="sickleave" id="sickleave" /></div>
    <div>   <h:commandLink value="Paid off Leave" action="paidleave" id="paidleave" /></div>
    <div>   <h:commandLink value="Logout" action="logout" id="logout" /></div>
    </h:form>



</ui:define>
<ui:define name="content">
     <h2 style="font-size: 16px; font-weight: bold; margin-top: 100px;">Available
        Leave</h2>




    <h:dataTable value="#{leaveavailable}" var="a"
        styleClass="order-table" headerClass="order-table-header"
        rowClasses="order-table-odd-row,order-table-even-row"
        columnClasses="order-table-odd-column,order-table-even-column">
        <h:column>
            <f:facet name="header">
                Sick Leave
            </f:facet>
                #{a.totalSickLeave}
        </h:column>
        <h:column>
            <f:facet name="header">
                Paidoff Leave
            </f:facet>
                #{a.totalPaidoffLeave}
        </h:column>
    </h:dataTable>



</ui:define>

ここで、ユーザーがユーザーにログインすると、mainpage.xhtml が表示されます。ユーザーがメインページに入った後、ブラウザの戻るボタンを押すと、ログイン ページに移動します。したがって、戻るボタンを無効にする必要があります。ブラウザの戻るボタンを無効にする JavaScript コードを追加する場所はありません。追加する必要があるのは mainpage.xhtml か standard.xhtml か

戻るボタンを無効にするために追加する必要がある Java スクリプト

4

4 に答える 4

2

戻るボタンを無効にすることはできません。こちらをご覧ください。これは、ユーザー エクスペリエンスの観点からもおそらく悪い考えであるため、大きな損失はありません。これをしようとすることは、1999 年の Web デザインの間違いの第 1 位に挙げられました。

于 2012-07-20T06:53:00.563 に答える
1

戻るボタンを無効にすることはできません。ただし、 を使用して、現在のドキュメントをブラウザの履歴から削除し、目的のドキュメントに置き換えることができますwindow.location.replacereplaceこの場合、置換するドキュメントから呼び出す必要があるため、AJAX を使用する必要があることに注意してください。

JavaScript をいじってユーザーのブラウザーを壊そうとする代わりに、ユーザーが既にログインしているかどうかをサーバー側でチェックして、ユーザーをメイン ページにリダイレクトしてみませんか?

于 2012-07-20T06:54:58.587 に答える
0

ケースに当てはまる場合は、次のことを試すことができます。

  1. 適切な http no cache トリックを設定してページのキャッシュを停止します。記事を参照してください。
  2. ログイン後、セッションにいくつかの情報を保存するのが一般的です.別のページ。

お役に立てれば !!!

于 2012-07-20T08:38:10.717 に答える
-1
Just try this,it works fine for me :)
Disable Back functionality using history.forward

これは、任意の Web ページで戻る機能を無効にする別の手法です。Web ページに次のコードを追加することで、戻るナビゲーションを無効にすることができます。ここでの問題は、ユーザーが前のページから戻らないようにするすべてのページにこのコードを追加する必要があることです。たとえば、ユーザーはナビゲーション page1 -> page2 に従います。そして、ユーザーが page2 から page1 に戻るのを止めたいとします。この場合、page1 のすべての次のコード。

<SCRIPT type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
onpageshow="if (event.persisted) noBack();" onunload="">

上記のコードは、page1 の history.forward イベントをトリガーします。したがって、ユーザーがページ 2 で [戻る] ボタンを押すと、ユーザーはページ 1 に送信されます。しかし、page1 の history.forward コードは、ユーザーを page2 に戻します。したがって、ユーザーは page1 から戻ることができなくなります。オンラインデモを見る - http://viralpatel.net/blogs/demo/javascript-disable-browser-back-button/

于 2014-12-04T08:58:59.687 に答える