アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。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;
}
}

A 回答 (1件)

上記のコードって、もちろん簡略化したものですよね?(そのままだと、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ディレクトリを新規に作成しそこに配置。
    • good
    • 0
この回答へのお礼

choconamacreamさん、ありがとうございました。
なぜか、もう一度コードをクリアして書き直してみるとうまくいきました・・・
どこかにゴミが入っていたのかもしれません。ありがとうございました。

お礼日時:2007/06/12 19:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!