Webプロジェクトには、機能の異なるいくつかのボタンが必要ですが、それを実現する正しい方法がわかりません。私はテストのためだけにこのようにしました:
<input name="command" type="hidden" value="redirect"></input>
<input type="submit" name="page" value="Make order"></input>
<input type="submit" name="page" value="See bills"></input>
<input type="submit" name="page" value="See orders"></input>
次に、コマンドで、どのボタンがクリックされたかを確認するために、ページ名の列挙型を切り替えます。1つのボタンはクライアントを別のページにリダイレクトするだけで、他のボタンは独自のコマンドを呼び出す必要があります。
フォームを後処理するのは悪い習慣だと知っているsubmit
ので、別の方法を探しています。JSを使用するようにアドバイスされましたonclick
が、経験がなく、プロジェクトに適した簡単な例が見つかりません。
編集済み
ViewBillActionとViewOrderActionのアクションクラスがあります。また、必要なアクションを定義するためのクラスがあります。
public class Redirect implements Action {
@Override
public String execute(TransferredData requestInformation) {
String pageName = requestInformation.getRequestParameter("page");
Action action;
switch (pageName.toUpperCase()) {
case "MAKE ORDER":
return JSPManager.INSTANCE.getProperty(JSPManager.ORDER_PAGE_PATH);
case "VIEW BILLS":
action = new ViewBillsCommand();
return action.execute(requestInformation);
case "VIEW ORDERS":
action = new ViewRequestsCommand();
return action.execute(requestInformation);
主な問題は、JSでボタンクリックイベントをどのように処理するかがまったくわからないことです。しかし、これは私がそれを行うべき方法であり、私は簡単な例に非常に感謝するでしょう。