- 締切済み
strutsで画面遷移
お世話になります。struts初心者です。 test1.jspから、リンクをクリックしたら、次のページ(download.jsp)へ遷移させたいのですが、「ページが見つかりません」となってしまいます。 以下のようなソースコードにしています。 どこがおかしいのでしょうか・・・・情報少ないでしょうか。わかる方いらっしゃいましたら、おしえてください。 https://xxxxx/test/test1.jsp ↓リンククリックで下記URLになり「ページが見つかりません」 https://xxxxx/login/menu.do ------------------------------------------------------- test1.jsp ------------------------------------------------------- <html:html> <head> <script language="JavaScript"> <!-- function gonext(){ document.menuForm.menuOperation.value ="download"; document.menuForm.submit(); } --> </script> </head> <body> <html:form action="/login/menu"> <html:hidden property="menuOperation"/> <A href="javascript:gonext()"> go next </A> </html:form> </body> </html:html> ------------------------------------------------------- struts-config.xml ------------------------------------------------------- <form-beans> <form-bean name="menuForm" type="xxx.login.CMenuActionForm"/> </form-beans> <action-mappings> <action path="/login/menu" type="xxx.login.CMenuAction" name="menuForm" scope="request"> <forward name="download" path="/common/download.jsp"/> </action> </action-mappings> ------------------------------------------------------- CMenuAction.java ------------------------------------------------------- public class CMenuAction extends CxxxDLAction{ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { return mapping.findForward("download"); } } ------------------------------------------------------- CMenuActionForm.java ------------------------------------------------------- public class CMenuActionForm extends ActionForm{ String menuOperation; public String getmenuOperation() { return menuOperation; } public void setmenuOperation(String menuOperation) { this.menuOperation = menuOperation; } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- choconamacream
- ベストアンサー率44% (152/338)
上記のコードって、もちろん簡略化したものですよね?(そのままだと、Servletのコンパイルも通らないはず。) ------------------------------------------------------- 「test1.jsp」の一番上に追加するコード3つ。 ------------------------------------------------------- <%@page contentType="text/html; charset=EUC-JP" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> ------------------------------------------------------- 「CMenuAction.java」の一番上に追加するコード5つ。 ------------------------------------------------------- package xxx.login; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import org.apache.struts.action.*; ------------------------------------------------------- CMenuActionForm.javaの一番上に追加するコード2つ。 ------------------------------------------------------- package xxx.login; import org.apache.struts.action.*; ///// 追加するコードの説明、おわり。///// ○ 気を付けること ○ ・struts-config.xml内にて、「CMenuActionForm」や「CMenuAction」がxxxディレクトリ内のloginディレクトリ配下にあるとなっているので、上記のようにソースコード内もpackage宣言をした後、strutsのメインのディレクトリ内にある/WEB-INF/classes内に、それぞれディレクトリを新規に作成して、そこにコンパイル時に生成されたクラスファイル2つを配置すること。 ・test1.jspは、strutsのメインのディレクトリ内から、testディレクトリを新規に作成しそこに配置。 ・download.jspは、strutsのメインのディレクトリ内から、commonディレクトリを新規に作成しそこに配置。
お礼
choconamacreamさん、ありがとうございました。 なぜか、もう一度コードをクリアして書き直してみるとうまくいきました・・・ どこかにゴミが入っていたのかもしれません。ありがとうございました。