[Seasar-user:21496] Re: 質問:@Executeをつけると404エラーになります

太田浩一 [E-MAIL ADDRESS DELETED]
2012年 11月 15日 (木) 12:06:49 JST


太田といいます。

動画を見る限りではSAStrutsのようですね。
SAStrutsでは、Actionのクラス名とJSPを格納するフォルダが重要です。

エラーする状態がどのようなフォルダ構成なのか?
が分からないので推測になってしまいますが、

「index2.jsp」を「WEB-INF/view/index2/」
フォルダに格納して
> <form action="${/sendMessage}" method="POST">
を
<form action="${/index2/sendMessage}" method="POST">
にすれば動作するような気がします。
(ダメだったらごめんなさい)

あっていた場合、
なぜそのようになるかについては、下記に詳しいです。
http://sastruts.seasar.org/featureReference.html#ExecuteMethod

http://sastruts.seasar.org/download.html
からチュートリアルをダウンロードして
動かしたりソースコードを見たりするといろいろと勉強になります。

以上、よろしくお願いします。


> はじめまして、
> まだプログラムを始めて4ヶ月の者です。
> 社内試験で掲示板システムをつくることになり
>
> http://www.youtube.com/watch?v=tkk3GyTwb8w
>
> の動画を参考に掲示板を作っていたのですが
> 最後のpublic String
> sendMessage()のところに@Execute(input="index.jsp")をつけると404エラーが表
> 示されてしまいます。
> その部分をコメントではずすと画面は表示されます。
> いろいろ調べてみたのですが、原因がわからず困っています。
>
>
> ファイル名はindex.jsp→index2.jsp、IndexAction.java→Index2Action.javaとなっ
> ております
>
> 作業環境は
> windows 7
> Eclipse Java EE IDE for Web Developers
> doltengプロジェクト
> MySQLです
>
> Index2Action.java↓
>
>
> package net.bbs.action;
>
> import java.util.List;
>
> import net.bbs.entity.Message;
> import net.bbs.service.MessageService;
>
> import org.seasar.struts.annotation.Execute;
>
> public class Index2Action {
>  public String userName;
> public String text;
>  public List<Message> messages;
> @Execute(validator=false)
> public String index2(){
>  messages = MessageService.loadMessages();
>  return "index2.jsp";
> }
>
>
> @Execute(validator=true, input="index2.jsp") ←ここで404エラーがでます
> public String sendMessage(){
> MessageService.registMessage(userName, text);
> return "?redirect=true";
> }
>
> }
>
>
> index2.jsp↓
> <%@page pageEncoding="UTF-8"%>
> <html>
> <head>
> <title>簡単な掲示板</title>
> </head>
> <body>
> <div>簡単な掲示板</div>
> <div>
> <form action="${/sendMessage}" method="POST">
> <input type="text" name="userName" placeholder="名前" />
> <br />
> <textarea name="userName" placeholder="本文"></textarea>
> <input type="submit" />
> </form>
>
> </div>
> <c:forEach var="message" items="${messages }">
> <div style="border:solid 1px #333">
> <div style="floot:left;width:100px">${f:h(message.userName) }</div>
> <div style="floot:left;margin-left:10px">${f:br(f:h(message.text)) }</div>
> <br style="clear:both"/>
> </div>
> </c:forEach>
> </body>
> </html>
>
> よろしくお願いいたします。
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



Seasar-user メーリングリストの案内