Fielderror Tag (Non-Form UI Tags) Example

                         

In this section, we are going to describe the fielderror tags. The fielderror tag is a UI tag that renders field errors if they exists. 

Add the following code snippet into the struts.xml file.
struts.xml

<action name="fieldError">
         <result>/pages/uiTags/loginFielderrorTag.jsp</result>
</action>

<action name="checkUser" class="net.roseindia.checkField">
       <result name="input">/pages/uiTags/loginFielderrorTag.jsp</result>
       <result name="error">/pages/uiTags/fielderrorTag.jsp</result>
       <result>/pages/uiTags/validUser.jsp</result>
</action>

Develop an action class using addFieldError(String fieldName, String errorMessage) method. This method adds an error message for a given field to the corresponding jsp page.
checkField.java

package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;

public class checkField extends ActionSupport {
  private String username = null;
  private String password = null;
  public String execute() throws Exception{
    if ((getUsername().equals("Roseindia")) && 
           (
getPassword().equals("Roseindia"))){
      addActionMessage("Valid User!");
      return SUCCESS;
    }
    if(!(getUsername().equals("Roseindia")))
    addFieldError("username","Invalid username!");

    if(!(getPassword().equals("Roseindia")))
    addFieldError("password","Invalid password!");

    return ERROR;
  }
  //Set and get the user name
  public void setUsername(String username){
    this.username = username;
  }
  public String getUsername(){
    return username;
  }
  //set and get the password
  public void setPassword(String pass){
    password = pass;
  }
  public String getPassword(){
    return password;
  }
}

Create a Login jsp page as shown:
loginFielderrorTag.jsp

<%taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
    <title>Fielderror Tag Example!</title>
  <body>
  <s:form action="checkUser" method="POST">
  <s:textfield label="User Name" name="username" size="20" maxlength="10" />
  <s:password label="Password" name="password" size="20" maxlength="10" />
  <s:submit value="Submit" />
  </s:form>
  
  </body>
</html>

Create a jsp page that will display your field error messages  (when fails to logged-in) using the empty <s:fielderror/> tag as shown:
fielderrorTag.jsp

<%taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
    <title>Fielderror Tag Example!</title>
  <body>
  <h1>
  <s:fielderror />
        
  </h1>
  <a href="/struts2tags/roseindia/fieldError.action">Go Back</a>
  </body>
</html>

Create a jsp page that will display your messages  (when succeed to logged-in) using the empty <s:actionmessage /> tag as shown:
validUser.jsp

<%taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
    <title>Fielderror  Tag Example!</title>
  <body>
  <h1>
  <s:actionmessage />
  </h1>
  </body>
</html>

you will see the output of the loginFielderrorTag.jsp as shown below:

Enter the wrong user name and correct password in the login page

you will get the following output:

Enter the correct user name and wrong password in the login page

you will get the following output:

Enter incorrect values in both fields of the login page

you will get the following output:

Enter correct values in both fields of the login page

you will get the following output:

                          " name="description">

Fielderror Tag (Non-Form UI Tags) Example

In this section, we are going to describe the fielderror tags.

Fielderror Tag (Non-Form UI Tags) Example

Fielderror Tag (Non-Form UI Tags) Example

     

In this section, we are going to describe the fielderror tags. The fielderror tag is a UI tag that renders field errors if they exists. 

Add the following code snippet into the struts.xml file.
struts.xml

<action name="fieldError">
   <result>/pages/uiTags/loginFielderrorTag.jsp</result>
</action>

<action name="checkUser" class="net.roseindia.checkField">
   <result name="input">/pages/uiTags/loginFielderrorTag.jsp</result>
   <result name="error">/pages/uiTags/fielderrorTag.jsp</result>
   <result>/pages/uiTags/validUser.jsp</result>
</action>

Develop an action class using addFieldError(String fieldName, String errorMessage) method. This method adds an error message for a given field to the corresponding jsp page.
checkField.java

package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;

public class checkField extends ActionSupport {
  private String username = null;
  private String password = null;
  public String execute() throws Exception{
  if ((getUsername().equals("Roseindia")) && 
   (
getPassword().equals("Roseindia"))){
  addActionMessage("Valid User!");
  return SUCCESS;
  }
  if(!(getUsername().equals("Roseindia")))
  addFieldError("username","Invalid username!");

  if(!(getPassword().equals("Roseindia")))
  addFieldError("password","Invalid password!");

  return ERROR;
  }
  //Set and get the user name
  public void setUsername(String username){
  this.username = username;
  }
  public String getUsername(){
  return username;
  }
  //set and get the password
  public void setPassword(String pass){
  password = pass;
  }
  public String getPassword(){
  return password;
  }
}

Create a Login jsp page as shown:
loginFielderrorTag.jsp

<%taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <title>Fielderror Tag Example!</title>
<body>
 <s:form action="checkUser" method="POST">
<s:textfield label="User Name" name="username" size="20" maxlength="10" />
 <s:password label="Password" name="password" size="20" maxlength="10" />
 <s:submit value="Submit" />
  </s:form>
  </body>
</html>

Create a jsp page that will display your field error messages  (when fails to logged-in) using the empty <s:fielderror/> tag as shown:
fielderrorTag.jsp

<%taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <title>Fielderror Tag Example!</title>
  <body>
  <h1>
  <s:fielderror />
  
  </h1>
  <a href="/struts2tags/roseindia/fieldError.action">Go Back</a>
  </body>
</html>

Create a jsp page that will display your messages  (when succeed to logged-in) using the empty <s:actionmessage /> tag as shown:
validUser.jsp

<%taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <title>Fielderror  Tag Example!</title>
  <body>
  <h1>
  <s:actionmessage />
  </h1>
  </body>
</html>

you will see the output of the loginFielderrorTag.jsp as shown below:

Enter the wrong user name and correct password in the login page

you will get the following output:

Enter the correct user name and wrong password in the login page

you will get the following output:

Enter incorrect values in both fields of the login page

you will get the following output:

Enter correct values in both fields of the login page

you will get the following output: