2011-01-03 5 views
9

質問があります。ボタンクリックでjspを変更

私は3つのjspページを持っています。 最初は2ボタンのメニューです。 最初のボタンをクリックすると、2番目のjspページを開きます。 2番目のボタンをクリックすると、3番目の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"> 
<title>Insert title here</title> 
</head> 
<body> 
    <form name="TrainerMenu" action="TrainerMenu" method="get"> 

     <h1>Benvenuto in LESSON! Scegli l'operazione da effettuare:</h1> 
     <input type="button" value="Creazione Nuovo Corso" name="CreateCourse" /> 
     <input type="button" value="Gestione Autorizzazioni" 
     name="AuthorizationManager" /> 

    </form> 
</body> 
</html> 

答えて

17

あなたはいくつかのオプションを持って、私は最も簡単から始めましょう:彼らは、ボタンのように見えるように、リンクへの入力ボタン

の1-変更は、あなたがCSSでそれらのスタイルを設定することができます:

<a href="CreateCourse.jsp">Creazione Nuovo Corso</a> 

の代わりに、あなたがクリックするボタンに応じて、フォームの動作を変更するにはjavascriptの

<input type="button" value="Creazione Nuovo Corso" name="CreateCourse" /> 

2 - 使用:

<input type="button" value="Creazione Nuovo Corso" name="CreateCourse" 
onclick="document.forms[0].action = 'CreateCourse.jsp'; return true;" /> 

、3-処理するために、サーブレットやJSPを使用しますそのリクエストをリダイレクトするか、適切なJSPページに転送します。

5

あなたは、これらのボタンを提出し、サーブレット内で、あなたのはあなたにフォームを提出していることは押されたボタンの名前をテストし、対応するJSPページをレンダリングすることができ作ることができます。 TrainerMenuサーブレットインサイド

<input type="submit" value="Creazione Nuovo Corso" name="CreateCourse" /> 
<input type="submit" value="Gestione Autorizzazioni" name="AuthorizationManager" /> 

request.getParameter("CreateCourse")が空でないならば、最初のボタンがクリックされた、あなたは、対応するJSPをレンダリングすることができます。

2

あなたが探しているすべてのページ1からページ2と3のナビゲーションであれば、以下のようにアンカー要素とボタンを置き換える:あなたはボタンを使用する必要があるいくつかの理由で、これをしようとした場合

<form name="TrainerMenu" action="TrainerMenu" method="get"> 

<h1>Benvenuto in LESSON! Scegli l'operazione da effettuare:</h1> 
<a href="Page2.jsp" id="CreateCourse" >Creazione Nuovo Corso</a>&nbsp; 
<a href="Page3.jsp" id="AuthorizationManager">Gestione Autorizzazioni</a> 
<input type="button" value="" name="AuthorizationManager" /> 
</form> 

<form name="TrainerMenu" action="TrainerMenu" method="get"> 

    <h1>Benvenuto in LESSON! Scegli l'operazione da effettuare:</h1> 
    <input type="button" value="Creazione Nuovo Corso" name="CreateCourse" 
    onclick="openPage('Page2.jsp')"/> 
    <input type="button" value="Gestione Autorizzazioni" name="AuthorizationManager" 
    onclick="openPage('Page3.jsp')" /> 

</form> 
<script type="text/javascript"> 
function openPage(pageURL) 
{ 
window.location.href = pageURL; 
} 
</script> 
1

2つのフォームを使用してください。

アクション属性には、2番目のjdpページと1番目のボタンの名前が付けられます。 2番目のフォームには、3番目のJSPページの名前を指定するアクション属性を持つ2番目のボタンがあります。

それはこのようになります:あなたがこれを行うことができます

<%@ 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"> 
<title>Insert title here</title> 
</head> 
<body> 
    <form name="main1" method="get" action="2nd.jsp"> 
     <input type="submit" name="ter" value="LOGOUT" > 
    </form> 
    <DIV ALIGN="left"><form name="main0" action="3rd.jsp" method="get"> 
     <input type="submit" value="FEEDBACK"> 
    </form></DIV> 
</body> 
</html> 
1

最も簡単な方法は、Javaスクリプトを使用することです。 は例えば、<input type="button" value="load" onclick="window.location='userpage.jsp'" >

-1
<a href="Second_Page.jsp"> 
<input type="button" value="SecondPageBlahhBlahh" name="SecondPageBlahh Blahh" /> 
</a> 

はこれが最も簡単な方法です: は、それは、AJAXを使用して動作しますjavascriptの

+0

https://validator.w3.orgは満足できません。 – BalusC

0

を必要としません。 リクエストに応答してコントローラから返されたiframeにjspが表示されます。

function openPage() { 
    jQuery.ajax({ 
    type : 'POST', 
    data : jQuery(this).serialize(), 
    url : '<%=request.getContextPath()%>/post_action', 
    success : function(data, textStatus) { 
    jQuery('#iframeId').contents().find('body').append(data); 
    }, 
    error : function(XMLHttpRequest, textStatus, errorThrown) { 
    } 
    }); 
}