2017-02-20 6 views
1

jspページをブロックする方法 (私は、各ページをリダイレクトするリンクをクリックすると、特定のユーザーの特定のページをブロックしたい) Javaスクリプト関数を作成してjspページ(ユーザーがアクセス可能なページ)。ブロックjspページjavascriptを使用して

+0

ソリューションは[tag:jsp]にある必要がありますか、それとも[tag:javascript]にすべて含まれている場合はそれを受け入れるのですか? – user7393973

+0

私はこれらの言語のいずれかで好きです –

+0

私の答えをチェックし、それが助けられているかどうか教えてください。 – user7393973

答えて

2

使用JSのdocument.getElementById( "リンクのid名を")style.display = 'なし';。ページからリンクを削除し、リンクを表示するために 'none'の代わりに 'block'を使用します。

+0

すべてのリンクを最初に無効にしてから、ユーザーがアクセスできる適切なリンクを有効にするときに機能します。 –

3

event.preventDefault();を使用し、ブロックする必要があるかどうかを示す変数を設定できます。要求(またはあなたにもList<String> links、あなたが同じ名前で渡す次の例で確認してください:

var BlockUser = true; 
 
function CheckUser() { 
 
    if (BlockUser) { 
 
    event.preventDefault(); 
 
    } 
 
}
<a href="http://stackoverflow.com/">Link for any user</a> 
 
<br> 
 
<a href="http://stackoverflow.com/" onclick="CheckUser()">Link for certain users</a>

+0

これは役に立ちました。私は最初にすべてのリンクを無効にしてから、各ユーザーに対して適切なリンクをアクティブにしました。 –

2

を純粋なJSPソリューション:あなたが利用可能なリンクの配列を持っていると仮定し

ユーザーからそれを取得する、問題ではない、取得の方法にもかかわらずそれらのリンクの配列を持っていると仮定した場合)、次のようなことをすることができます:

... 
    <c:forEach var="link" items="${links}"> 
    <a href="${link}" <c:if test="/*here you test if user have 
access, i dont know how you do it*/"> class="inactiveLink" </c:if>>page link</a> 
    </c:forEach> 
    ... 

...はあなたのJSPの残りの部分である、とのforeachを使用するために、ということなスタイル

.inactiveLink { 
    pointer-events: none; 
    cursor: default; 
} 

注定義 - あなたは、JSPの先頭にJSTLタグライブラリを定義する必要があります場合は

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

をあなたはないknow what is jstl行うには、あなたがそれらトンをしたい場合、一般的に良い概念は、CSSやJSを無効にすることについて語った

ELものですOあなただけのみ許可されたリンク印刷することができ、完全にアクセス不能:

... 
<c:forEach var="link" items="${links}"> 
<c:if test="/*here you test if user have 
    access, i dont know how you do it*/"> 
     <a href="${link}">page link</a> 
</c:if> 
</c:forEach> 
... 
+0

プロパティ 'pointer-events'を使うことは、元のideiaです。 CSSを無効にするのはかなり簡単ですが、JavaScriptと同じことを言います。 – user7393973

関連する問題