1

struts 2 は初めてです。validation.xml ファイルを使用してフォームを検証しようとしましたが、正常に動作します。

ただし、エラー メッセージはテキスト フィールドの上部に表示されます。これらのエラー メッセージをテスト フィールドの右側に赤いフォントで表示する必要があります。

私のjspコード(index.jsp)

<s:form action="addEmp" method="post">
      <s:textfield name="name" label="Name" size="20" />
      <s:textfield name="age" label="Age" size="20" />
      <s:select name="gender" headerKey="0" headerValue="Select Gender"
     label="gender" list="#{'1':'Male','2':'Female'}" />

      <s:textfield name="email" label="Email" size="20" />
      <s:textfield name="phone" label="Phone_Number" size="20" />
      <s:textfield name="address" label="Address" size="20" />
      <s:submit name="submit" label="Login" align="center" />  
   </s:form>

私のアクションクラス(Employee.java):

package com.tutorialspoint.struts2;
import com.opensymphony.xwork2.ActionSupport;

public class Employee extends ActionSupport{

   public String addEmployee()
   {
       return SUCCESS;
   }

}

struts.xml ファイル:

<action name="addEmp" 
   class="com.tutorialspoint.struts2.Employee"
  method="addEmployee"  >
   <result name="input">/index.jsp</result>
  <result name="success">/success.jsp</result>
</action>

および Employee-validation.xml ファイル:

 <validators>
       <field name="name">
          <field-validator type="requiredstring">
             <message>
                The name is required.
             </message>
          </field-validator>
       </field>

       <field name="gender">
         <field-validator type="int">
         <param name="min">1</param>
             <message>
                Please select a value
             </message>
          </field-validator>
       </field>

       <field name="email">
          <field-validator type="requiredstring">
             <message>
                The email is required.
             </message>
          </field-validator>
         <field-validator type="email">
             <message>
                Please enter a valid email ID
             </message>
          </field-validator>
       </field>

これを行うのを手伝ってください..事前に感謝します。

4

1 に答える 1

1

これは、Struts2 で使用されているデフォルトのテーマが原因です。struts2 はテーマ レイアウトを使用して、使用されているタグに基づいて HTML を生成し、デフォルトのレイアウトを作成することに注意してください。

デフォルトで Struts2 は使用します。xhtml themeこれは、ある種の を作成することを意味しますtable, tr and td。生成されたソース コードを見るだけで、何が起こっているかがわかります。

切り替えることをお勧めしsimple themeます。これにより、カスタム CSS でレイアウトを制御できるようになります。

テーマとそれらがどのように機能するかを見てください。アイデアを得るのに役立つと思います

于 2013-03-19T07:57:07.963 に答える