• 締切済み

Struts1.1を使った掲示板について

teketonの回答

  • teketon
  • ベストアンサー率65% (141/215)
回答No.1

if(sendMessage != null){ String name = bbsForm.getName(); if(name.equals("")){ ActionErrors errors = new ActionErrors(); ActionMessage msg = new ActionMessage("error.name"); errors.add("errorName", msg); addErrors(request, errors); //bbsForm.setErrorName("名前を入力してください"); //session.setAttribute("errorname",errorname); errorinput = true; } こんな感じ? あとはMessageResources.propertiesを作成して、例えば下の内容にする。 error.name=Please input your name. MessageResourcesファイルの場所をstruts-config.xmlのmessage-resourcesタグを使って定義する。

参考URL:
http://www.ne.jp/asahi/hishidama/home/tech/struts/error.html
ofuoo
質問者

お礼

ありがとうございます。 jspと違ってエラーだけでファイルを作らないといけないのですね

ofuoo
質問者

補足

MessageResources.propertiesのエラー文は日本語にはできないのでしょうか?

関連するQ&A

  • strutsについて

    eclipseとTomcat、strutsの勉強をしているのですがjspをブラウザからhttpで実行すると 「タグ "html:errors" にタグハンドラクラス "org.apache.struts.taglib.html.ErrorsTag" をロードできません」 とエラーがでてしまいます。 html:errorsをコメントアウトして実行すると、その次に使用しているhtml:formを使用している箇所でエラーになってしまいます。 struts.jarは関連させていますし。tblも関連させていると思っています。いろいろ検索してみたのですが対処方法がわかりません。 <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> これをjspに記載していますが、WEB-INF配下にtldファイルがあれば特に問題ありませんよね?ファイル構成も大丈夫だとは思うのですが。 有識者がおりましたらご教授お願いします。情報が不足しているので指摘をお願いします。

  • javaの掲示板について

    サーブレットにおいて未入力のチェックを行っているのですがこのままだと、未入力の表示と一緒に空欄の投稿ができてしまいます。 String sendMessage = request.getParameter("sendMessage");               String name = request.getParameter("name"); if(name.equals("")){ errorname = "名前を入力してください"; request.setAttribute("errorname",errorname); } Message message = new Message(); message.setName(name); Vector messageList = dao.getMessageList(); request.setAttribute("MESSAGE_LIST", messageList); ServletContext sc = this.getServletContext(); RequestDispatcher rd = sc.getRequestDispatcher("/bbs.jsp"); rd.forward(request, response); } catch (Exception e) { e.printStackTrace(); } 空欄の投稿がされないようにするにはどうすればいいのでしょうか? 全く思いつかないので詳しく説明をお願いします。

    • ベストアンサー
    • Java
  • javaの掲示板について

    サーブレットの削除機能の抜粋なのですが public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { MessageDao dao = new MessageDao(); String sendMessage = request.getParameter("sendMessage"); String deleteMessage = request.getParameter("deleteMessage"); //削除 if(deleteMessage != null){ String sql = "SELECT * FROM MESSAGE_TABLE where ID ="; String rsPassword = request.getParameter("rsPassword"); String deleteid = request.getParameter("id"); String deletepassword = request.getParameter("deletepassword"); if (deletepassword.equals(sql) || deleteid.equals(sql)){ dao.deleteMessage(delete); success = "削除しました。"; request.setAttribute("success", success); } if (!deletepassword.equals(sql) || deleteid.equals(sql)){ errorpass = "パスワードが違います。"; request.setAttribute("errorpass", errorpass); } } ------------------------------------------------------------------------------------ jsp部分 <input type="deletepassword" size="20"> <input type="hidden" name="id" value="<%= message.getId() %>"> <input type="hidden" name="rsPassword" value="<%= message.getPassword() %>"> <input type="submit" name="deleteMessage" value="削除"> それぞれをこの様な書き方で記述した場合、削除ボタンを押された際に削除フォームに入力されたパスワードとidをデータベース内に格納されているパスワードとidと比較して削除、もしくはエラーという様にできているでしょうか?できていなければ変更点の御指摘をお願いします。 ------------------------------------------------------------------------------------ <% String errorpass = (String)request.getAttribute("errorpass"); if(errorpass != null){ out.println(errorpass); } %> またjspの表示部分を上記のようにしているのですが、out.printlnを使わないで記述する場合どのように書けばよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • セッション管理

    失礼いたします。 セッション情報の受け渡しを勉強しています。 送り手側で HttpSession ses = request.getSession(); String login = (String)ses.getAttribute("login"); String name = (String)ses.getAttribute("name"); if( !("ttttt".equals( login )) ) {  //(以下処理) 受けて側で String name = request.getParameter("user"); String pass = request.getParameter("pass"); HttpSession ses = request.getSession(); if ( name.equals("admin") && pass.equals("hoge")) { ses.setAttribute("login","ttttt"); ses.setAttribute("name",name); out.println("<h3>ログインしました。</h3>"); } とし、セッション管理を行っています。 しかし、今ひとつこの「セッション情報」と普通のパラメーターの受け渡しの違いが分かりません。どちらも文字として次ページへ送っていますので。セッションがずっと保持されるとはソースのどういう所から分かるのでしょうか?漠然とした質問ですが、よろしくお願いします。

    • ベストアンサー
    • Java
  • javaの掲示板について

    サーブレットの削除機能の抜粋なのですが public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { MessageDao dao = new MessageDao(); String sendMessage = request.getParameter("sendMessage"); String deleteMessage = request.getParameter("deleteMessage"); if(deleteMessage != null){ String deleteid = request.getParameter("id"); String deletepassword = request.getParameter("deletepassword"); String rsPassword = request.getParameter("rsPassword"); if (deletepassword.equals("rsPassword") || deleteid.equals("id")){ Message message = new Message(); message.setId(Integer.parseInt(deleteid)); } if (!deletepassword.equals("rsPassword") || deleteid.equals("id")){ } } 削除成功や、削除パスが違う時に投稿用jspに文を表示して、かつレコードを消すという処理をしたいのですが、そのような記述はどのようにすればいいのでしょうか? 今のままだと判定だけして終わっていると思うのですが思いつきません。 よろしくお願いします。

  • Struts、Iterateタグの使い方

    StrutsのIterateタグを使おうとしているのですが、 jsp.error.unterminated.tagというエラーが出てしまい ます。Iterateタグの使い方に問題があると思うのです が、どのように対処すれば良いのかが分かりません。ご 存知の方、教えて頂けませんでしょうか。お願いしま す。 <%@ page language="java" import="java.util.Collection, aloha.business.UserBO" %> <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> <jsp:include page="header.jsp" flush="true" /> <% UserBO UserBO = new UserBO(); Collection col = userBO.findAllUser(); %> <table><tr> <logic:iterate id="user", name="col", length="5"> </logic:iterate>

    • ベストアンサー
    • Java
  • Struts 1.3 でbeanタグが認識されない

    Struts初心者です。 Struts1.3で以下のようなJSPを作成していますが、 "bean:write"のところで、"bean"に対応するtaglibディレクトリが存在しないかTLDファイルが見つかりません。 とエラーになります。 <%@ page contentType="text/html;charset=Windows-31J" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> ・ ・ ・ <html:html> <head> <title>○○○○○○○○</title> </head> <body> <h1>○○○○○○○○</h1> ●●●●<bean:write name="xxxx" property="id" />! </body> </html:html> "html"の方はエラーになりません。 ケアレスミスのような気がしていますので、どなたか教えていただけると嬉しいです。

  • TOMCATを使用したStrutsエラーについて

    動作環境 OS:WindowsXP Browser:IE8 Tomcat6.0 Tomcatをインストールしたwebapps直下にあるjspファイルを実行したいと思っています。 その中にStrutsを使用する記述があるのですが、実行するとエラーが出ます。 ネットでも色々と調べたのですが、原因がつかめません。 1.jspファイル <%@ page pageEncoding = "Shift_JIS" %> <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <html> <body> <html:form action="cancel_view" > <html:text property="stringData" size="15" maxlength="15" /> <html:submit property="submit" value="送信" /> </html:form> </body></html> 2.web.xmlファイル <taglib> <taglib-uri>/tabs/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> 3.エラー内容 3.1.IE8 org.apache.jasper.JasperException: JSP ファイル "/tags/struts-html" が見つかりません 3.2.Tomcat6 2010/11/20 21:13:17 org.apache.jasper.compiler.TldLocationsCache processWebDotXml 警告: 内部エラー: ファイル /WEB-INF/web.xml が見つかりません 「1.」の3行目にエラーがあるみたいです。何故ならその行を外せばエラーは消えます。 ですが、何も表示されません。 「3.2.」にweb.xmlは保存されています。そこに必要な*.tldファイルも保存されています。 libフォルダも作り動作に必要な*.jarファイルを保存しています。 web.xmlがあるにもかかわらず、見つかりませんと出るのは何故でしょうか? 環境変数のパスが足りないとも思えません。 どなたか詳しい方、エラー解消のご教授の程よろしくお願いします。

  • Strutsで、どのRadioボタンが選択されているかの情報を受け渡ししたい。

    Strutsを使っているWEBシステムで、taglibを使用せずに、情報を受け渡ししたいです。 ..やろうとして挫折したこと ..1.setAttributeでの受け渡し ....setAttributeは画面のロード時にしか実行できないようで、無理でした。 ....(正確には、RadioボタンのOnLoadイベントで、JSPからはsetAttributeを実行できない。) ..2.form上のコントロールのValueでの受け渡し ....input.type="radio".name="radio_object".value="値" ....のようにして、次の画面遷移先に渡そうとしましたが、 ....struts-config.xml.で記述している.formクラスに対し、 ....taglib.を使用して、formクラスに値設定する方法でなければ、 ....情報を受け渡しできないようでした。 taglib は、内部的には何らかの方法で、formクラスに値を受け渡ししているはずですし、 その方法を、jsp上で記述する方法もあると思っているのですが、 無理なのでしょうか?

    • ベストアンサー
    • Java
  • NULLが返ってこない…。

    原因がわからないため質問をさせて頂きます。 <%-- JSP <input type="text" name="name"> //名前 String name = request.getParameter("name"); Data data = new Data(); //コンストラクタをnew data.setName(name); --%> <%-- class(Bean) private String n = null; public void setName(String name){ if(name != null){ n = name; }else{ n = null; } public String getName(){ if(name != null){ return name; }else{ return name; } } --%> 値をgetParameter()メソッドで取得をして 値をsetName(name);でセットをしています。 セットした側でもし値があるのであれば その値を変数に格納。 もし値がなければnullを変数に格納しています。 しかし System.out.println(data.getName().equals("");//true System.out.println(data.getName().equals(null);//false; となりnullを返してくれません…。 このコードに何を足したらnullを返してくれるのか わかりません。 わかる方がいらっしゃいましたらよろしくお願い致します。

    • ベストアンサー
    • Java