S2Strutsの無設定で<html:form>は使えない?

このQ&Aのポイント
  • S2Strutsの無設定で<html:form>タグが使用できない理由について教えてください。
  • 無設定Strutsを使用する際に、<html:form>タグでエラーが発生してしまいます。
  • 代替え案や解決策があれば教えてください。
回答を見る
  • ベストアンサー

S2Strutsの無設定で<html:form>は使えない?

お世話になります。 現在S2Strutsの開発をおこなっていて無設定Strutsを使おうと思っています。 その際にstruts-config.xmlに記述なしでPOJOでクラスを作成し、入力フォームを作成したのですが通常strutsで使用する。 <html:form>タグでエラーが発生してしまいました。 おそらくstruts-config.xmlにマッピング記述がない為に発生しているのだと思いますが無設定Strutsでは<html:form>は使用できないのでしょうか? 代替え案などがあればご教授ねがえればと思います。 サンプルはmayaa板のみでJSPを使ったものがなかったので悩んでいます。 よろしくお願い致します。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

http://www.fk.urban.ne.jp/home/kishida/kouza/zeroconfigstruts/zeroconfigstruts.html 無設定Strutsでhtml:formを使っている例を見つけました。 私は無設定Struts自身使ったことが無いので、取り急ぎ例のみであしからず(^-^;

mako_seven
質問者

お礼

回答ありがとございました! 教えていただいたサイトを参照して無事に成功しました! ただformの値にいれたものを${hogeForm.id}みたいには 取れないみたいです。 今後とも勉強していきます

関連するQ&A

  • 無設定S2Strutsについて

    1. 公式サンプルのs2struts-exampleを見ているのですが、 addInput.mayaaの以下の場合、無設定にする場合はaction="/add"の addのマッピングはどこで定義するのでしょうか。 <html:form m:id="appForm" action="/add" focus="arg1" /> 自分が今作成しようとしているのはXXXAction(インターフェース)、 XXXActionImpl(実装)で考えています。 2. 無設定にする場合、struts-config.xmlは以下の感じでしょうか。 ^My.*\.jar$の箇所は意味がよく分かりませんのでそのままです。 <plug-in className="org.seasar.struts.plugin.AutoStrutsConfigRegisterPlugIn"> <set-property property="enableJar" value="false"/> <set-property property="jarFilePattern" value="^My.*\.jar$"/> <set-property property="actionClassPattern" value="org.seasar.struts.examples.*.*ActionImpl"/> <set-property property="formClassPattern" value="org.seasar.struts.examples.*.*Form"/> <set-property property="docRoot" value="/WEB-INF/pages"/> <set-property property="viewExtension" value="jsp,html,view"/> </plug-in> @StrutsActionForm(name="xxxForm")といったようなのを 書くのはなんとなく分かってきた段階です。 S2Struts 1.2です。よろしくお願いします。

    • ベストアンサー
    • Java
  • 教えてください:strutsのhtml:formタグがjspに展開された状態の、actionの値について

    java初心者です。 どなたか教えていただけませんでしょうか? JAVAのstrutsを使用してソフトを作成しています。 JSPに記載した「<html:form action="/authentication" focus="id"> 」 との記述が、WEB(IE)に展開されたソースを見ると、「<form name="AuthenticationForm" method="post" action="/strutsTest/authentication">」 に変換されています。 action="/authentication"と記述しているにもかかわらず、 action="/strutsTest/authentication"と展開されているのですが /strutsTestが自動的に付与されているのは、なぜなのでしょうか? なにか設定するところがあるのでしょうか? ※struts-config.xmlに指定したpathと一致しない為、404NotFoundになるので自動設定しないように変更したいのです。 ちなみに環境は struts-1.3.10 Apache Tomcat 6.0.14 Server EclipsVersion: 3.4.2 pakage名:struts プロジェクト名:strutsTest struts-config.xmlの設定   <form-beans> <form-bean name="AuthenticationForm" type="struts.AuthenticationForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="fail" path="/login.jsp"/> </global-forwards> <action-mappings> <action path="/authentication" name="AuthenticationForm" type="struts.AuthenticationAction" scope="session"> <forward name="success" path="/welcome.jsp"/> <forward name="fail" path="/login.jsp"/> </action> </action-mappings> login.jsp <%@ page contentType="text/html; charset=Windows-31J" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/> <title>ログイン画面</title> </head> <body> <html:errors/> ID・パスワードを入力してください。 <html:form action="/authentication" focus="id"> <html:text property="id" size="16"/> <br> <html:password property="pas" size="16" redisplay="false" /> <br> <html:submit property="submit" value="送信"/> <html:reset value="リセット"/> </html:form> </body> </html:html> 動作順は、login.jsp => AuthenticationAction.class => welcome.jsp です。 よろしくお願いします。

  • struts-config.xmlの記述方法について

    アクションがなく、 jspからjspをよびだしたいのですが、 struts-config.xmlへの記述方法がわかりません。 特例だとは思いますが、ご存知の方 教えてください。

    • ベストアンサー
    • Java
  • StrutsのFormについて

    現在Struts(1.2)にてプログラムしているのですが、 分からない点があります。 とりあえず入力画面と入力画面表示時に必要なデータを取得してくる Actionクラスを作りました。 必要なデータとは、セレクトボックスの値でDBから取得しております。 で、取得したデータをActionクラスのexcute()が呼ばれたタイミングで、ActionFormの生成を(new)してそれにDBから取得した値をいれて 最後にrequest.setAttribute()で設定しています。 これは間違いでしょうか? というのも、Actionクラスのexcute()のところで、 request.getAttribute("XXXform",xxForm)としてやると、 Formが取得できます。本来はこのFormに設定するべきなのでしょうか? request.setAttribute()をしていないのにFormがあることに混乱しております。 単にstruts-config.xmlでFormの定義をしたら勝手に作成される ものなのでしょうか? なんだか言ってることが分からなくなってきた、、 言いたいことをまとめると、、 今は入力画面初期表示のために自分でActionFormをexecute()の はじめでNEWしてそれにデータをいれてrquestに設定しているが、 本来は既にrquestにあるFormをgetしてそれにデータをいれて再度、 rquestに設定するのが正しいのかどうかです。 宜しくお願いします。

    • ベストアンサー
    • Java
  • struts-config.xmlの設定

    お世話になります。 strutsを使用しlogin画面を作成し、エラーならエラーメッセージを表示させ、成功なら次のページに遷移するようにしたいのですが、 その際のstruts-config.xmlの設定がわかりません。 login画面を以下のように設定(login.jsp) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <html:html> <head> <title>ログイン画面</title> </head> <body> <html:errors/> <html:form action="/login" method="post"> ユーザID : <html:text property="id"/><br> パスワード: <html:password property="password"/><br> <html:submit value="ログイン"/> </html:form> </body> </html:html> </html> struts-config.xml <form-beans> <!-- sample form bean descriptor for an ActionForm <form-bean name="LoginForm"   //jspのform actionで渡すデータ type="org.apache.struts.validator.DynaValidatorForm"/> end sample --> <!-- sample form bean descriptor for a DynaActionForm <form-property     name="userid" //jsp画面のproperty指定時に渡す type="java.lang.String"/> <form-property name="password" //passwordのとき type="java.lang.String"/> </form-bean> end sample --> </form-beans>      //actionで渡すデータの定義1 <action path="/Login"   //actionで渡すデータ type="org.apache.struts.actions.LoginAction" parameter="/pages/Input.jsp"/> //actionで渡すデータの定義2 <action path="/InputSubmit" type="app.InputAction" name="inputForm" scope="request" validate="true" input="/pages/Input.jsp"/> //actionで渡す定義3 <action path="/edit*" type="app.Edit{1}Action" name="inputForm" scope="request" validate="true" input="/pages/Edit{1}.jsp"/> end samples --> </action-mappings> の箇所を変更するのはわかるのですが、どう変更したらいいかがわかりません。 ログイン成功時画面(loginSuccess.jsp) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <%@ taglib uri="/tags/struts-html" prefix="html" %> LoginSuccess!! <html:form action="/nextpage" method="post"> <html:submit value="次のページ"/> </html:form> </html> と設定してます。 javaクラスの設定も関係あるのですが、今回は省略してます 。今回したいのはlogin.jsp画面を表示させたいのですが、 その際以下のエラーがでます。 org.apache.jasper.JasperException: An exception occurred processing JSP page /pages/login.jsp at line 19 16: </head> 17: <body> 18: <html:errors/> 19: <html:form action="/login" method="post"> 20: ユーザID : <html:text property="id"/><br> 21: パスワード: <html:password property="password"/><br> 22: <html:submit value="ログイン"/> よろしくお願いします。

  • 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
  • ◆Struts サンプルプログラムのURLがわかりません。◆

    Struts初心者です。教えて下さい。 http://www.stackasterisk.jp/tech/java/strutsSec01_03.jsp#5 上記サイトで勉強中にいきずまってしまいました。初歩的質問で申し訳御座いませんが教えて下さい。 4.Strutsアプリケーションの作成 で記載されている通りに jspファイル、javaファイルを配置し、struts-configファイルも記載されているようにしました。 画面を表示させたいのですが、どのような URLにアクセスすれば画面が表示されるのでしょうか・・?? web.xmlの中に urlマッピングする情報を追記したり、struts-configに追記したりする必要がありますのでしょうか・・・?? servletだと web.xmlに、<servlet-mapping>要素に<url-pattern>を定義してURLが判断できたのですが・・・・ 以下のようなURLでアクセスしているのですが、TomcatがHTTPステータス 404を表示します。。tomcatの再起動なども行なっております。 http://localhost:8080/struts-blank/jsp/loginForm.jsp 根本的に理解できていないと思うので、参考になるサイト、書籍などもあったら教えて下さい。 環境 WinXP,JDK1.5,Eclipse3.2,Struts1.2,Tomcat5.x 宜しくお願いします。

  • Java struts Formを分ける

    Java Struts1.3.10 1jspにつき1Formとし、A.jspからB.jspへ遷移させようと思っています。 しかしA.jspは正常に表示されるのですが、遷移後エラーが発生します。 Bean AForm のプロパティ AList に対するゲッターメソッドがありません 遷移後に見てほしいのはBFormなのですが、AFormを見てしまっています。 どのようにすればBFormを参照することができますでしょうか? struts-config.xml <action attribute="AForm" input="/pages/A.jsp" name="AForm" path="/Result" type="jp.co.elephan.rental.action.Aaction" scope="session" validate="true" parameter="insert"> <forward name="Result" path="/pages/B.jsp" /> <forward name="Return" path="/pages/A.jsp" /> </action> <!-- --> <action attribute="BForm" input="/pages/B.jsp" name="BForm" path="/Return" type="jp.co.elephan.rental.action.Baction" scope="session" validate="true" parameter="yes,no"> <forward name="Result" path="/pages/A.jsp" /> <forward name="Return" path="/pages/B.jsp" /> </action> 以上です。

    • ベストアンサー
    • Java
  • Strutsで他のプロジェクトへ処理を移す

    Strutsの制御についてお聞きします。 二つのプロジェクトがあった場合、一方のプロジェクトから別のプロジェクトへStrutsのActionMappingで処理を移すことは可能なのでしょうか? 例えば、ProjectA、ProjectBとあった場合、 A.jsp(ProjectA) ↓struts-config.xml(ProjectA) action_A.class(ProjectA) ↓struts-config.xml B.jsp(ProjectB) ↓struts-config(ProjectB) action_B.Action(ProjectB) といった処理です。 うまくいかなくて困っています。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • コンパイラ struts

    フレームでコンパイラができません 助けてください top.html→menu.html、syouhin_kensaku.html,index.html menu.html(あ、い)(あ)を押したらhtmlはでますがjspが404がでます なぜでしょう struts-confing.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org.struts/dtds/struts-config_1_2.dtd"> <struts-config> <!-- データソースの設定 --> <date-sources> <!-- BasicDateSourseクラスを利用する --> <date-sourse typr="org.apache.commons.dbcp.BasicDateSourse"> <!-- JDBCドライバクラス名の設定 --> <set-property="driverClassName" value="com.mysql.jdbc.Driver"/> <!-- JDBCの接続文字列の設定 --> <set-propety propety="url" value="jdbc:mysql://localhost/struts?useUnicode=true&amp;characterEncoding=Windows-31J"/> <!-- MySQLのユーザーIDの設定 --> <set-propety propety="username" value="root"/> <!-- MySQLのパスワードの設定 --> <set-propety propety="passward" value="root"/> </date-sources> <!-- Form情報の定義 --> <form-beans> <form-bean name="AccountForm" type="action.form.AccountForm"/> </form-beans> <!-- アクションの定義 --> <action-mappings> <!-- Form情報をAccountFormとして、action.AccountFormクラスをアクションとして指定する --> <!-- Form情報はリクエストスコープに格納される --> <action name="Account" type="action.UpdateAction" path="/UpdateAction" scope="request" > <!-- アクションの遷移先として論理名をUpdate ファイルパスを/webJSP/index.jspとする --> <forward name="Update" path="/webJSP/index.jsp" /> </action> </action-mappings> <message-resources parameter="jp.co.jetsystem.message.MessageResources.properties"/> </struts-config>

専門家に質問してみよう