2012-04-24 25 views
0

私はここで奇妙な問題があります。私のstruts2 addFieldError(fieldName,ErrorMessage)私のJSPにエラーを表示していませんStruts2検証メッセージが表示されない

また、私はActionSupportを拡張しています。私のStruts.xmlではテーマを単純に設定していません。

私のActionListenerのは、それが自動的に、メソッドが呼び出される必要があるにもかかわらず、同じよう

package pebsms.actionBeans.UserActions; 

import pebsms.business.UserBusiness.Impls.UserBusinessImpl; 

import com.opensymphony.xwork2.ActionSupport; 

public class LoginAction extends ActionSupport { 

    UserBusinessImpl userBusiness; 

    public String userPassword; 
    public String userName; 

    public String getUserName() { 
     return userName; 
    } 

    public void setUserName(String userName) { 
     this.userName = userName; 
    } 

    public String getUserPassword() { 
     return userPassword; 
    } 

. public String execute() 
    { 
     return SUCCESS; 
    } 

    public void validate() 
    { 
     if (getUserPassword().length() <= 0) 
      addFieldError(userPassword, "Enter Password"); 
     if (getUserName().length() <= 0) 
      addFieldError(userName, "Enter UserName"); 
     if (!userBusiness.authenticateUser(userName, userPassword)) 
      addActionError("User authentication failed");** 
    } 
} 

マイStruts.xmlは私のJSPのエラーメッセージが出ていない

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd"> 

<struts> 
    <constant name="struts.devMode" value="true" /> 

    <package name="default" namespace="/" extends="struts-default" > 
     <action name="Login" > 
      <result>/pages/LoginScreen/Login.jsp</result> 
     </action> 

     <action name="LoginAction" class="userAction"> 
        <result name="input">/pages/LoginScreen/Login.jsp</result> 
      </action> 
    </package> 
</struts> 

addFieldErrorですvalidate()の内部にあります。

+1

jspにエラータグを含めましたか? – cherit

+0

'' ''(すべてのスペース)は有効なユーザー名ですか?また、何もしない場合は、独自の 'execute()'を実装する必要はありません。また、アノテーション(またはXML)を使用してより簡単に処理されるときには、検証を手動で行う価値があると確信していません。 –

+0

jspでを宣言しましたか? –

答えて

0

addFieldErrorメソッドが正しくありません。必要があります:

addFieldError("userName", "Enter UserName"); 

jspの要素の 'name'属性を使用してください。

0

strutsタグのテキストフィールドに単純なテーマを使用している場合。 <s:textfield theme="simple" />を削除します。 通常はエラーメッセージが2行に挟まれます。これを試して。 あなたの返信をください。

+0

体に私の上記の問題の解決策があれば、助けてください! –

関連する問題