開花流水

          空山無人,水流花開。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            79 Posts :: 42 Stories :: 160 Comments :: 0 Trackbacks

          <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
          <%@ page contentType="text/html;charset=utf-8" pageEncoding="UTF-8"%>

          <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
          <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
          <!-- RichFaces tag library declaration -->
          <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
          <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
          <html>
           <f:view>
            <head>
             <title>JSF in Action - Validator examples</title>
            </head>
            <body>
             <h1>
              Validator examples
             </h1>


             <h:form>
              <table border="1" cellspacing="0" cellpadding="5">
               <tr>
                <td>
                 <b>Validator(s)</b>
                </td>
                <td>
                 <b>Comments</b>
                </td>
                <td>
                 <b>Input</b>
                </td>
                <td>
                 <b>Errors</b>
                </td>
               </tr>
               <tr>
                <td>
                 Validation method
                </td>
                <td>
                 validator=testForm.validateEmail
                </td>
                <td>
                 <h:inputText id="methodInput"
                  validator="#{testForm.validateEmail}" />
                </td>
                <td>
                 <h:message for="methodInput" style="color: red" />
                </td>
               </tr>
               <tr>
                <td>
                 None (component property)
                </td>
                <td>
                 required="true"
                </td>
                <td>
                 <h:selectOneMenu id="RequiredInput" required="true">
                  <f:selectItem itemValue="" itemLabel="" />
                  <f:selectItem itemValue="1" itemLabel="dogs" />
                  <f:selectItem itemValue="2" itemLabel="birds" />
                  <f:selectItem itemValue="3" itemLabel="hamsters" />
                 </h:selectOneMenu>
                </td>
                <td>
                 <h:message for="RequiredInput" style="color: red" />
                </td>
               </tr>
               <tr>
                <td>
                 Length
                </td>
                <td>
                 minimum="2"
                 <br>
                 maxmimum="10"
                </td>
                <td>
                 <h:inputText id="LengthInput">
                  <f:validateLength minimum="2" maximum="10" />
                 </h:inputText>
                </td>
                <td>
                 <h:message for="LengthInput" style="color: red" />
                </td>
               </tr>
               <tr>
                <td>
                 LongRange
                </td>
                <td>
                 minimum="5"
                 <br>
                 maxmimum="999999"
                </td>
                <td>
                 <h:inputText id="LongRangeInput">
                  <f:validateLongRange minimum="5" maximum="999999" />
                 </h:inputText>
                </td>
                <td>
                 <h:message for="LongRangeInput" style="color: red" />
                </td>
               </tr>
               <tr>
                <td>
                 DoubleRange
                </td>
                <td>
                 minimum="5.1"
                 <br>
                 maxmimum="6.76"
                </td>
                <td>
                 <h:selectOneRadio id="DoubleRangeInput">
                  <f:selectItem itemValue="5.0" itemLabel="5.0" />
                  <f:selectItem itemValue="6.1" itemLabel="6.1" />
                  <f:selectItem itemValue="6.8" itemLabel="6.8" />
                  <f:validateDoubleRange minimum="5.1" maximum="6.76" />
                 </h:selectOneRadio>
                </td>
                <td>
                 <h:message for="DoubleRangeInput" style="color: red" />
                </td>
               </tr>
               <tr>
                <td>
                 Length, LongRange
                </td>
                <td>
                 required="true"
                 <br>
                 Length minimum="2"
                 <br>
                 Length maxmimum="3"
                 <br>
                 LongRange minimum="10"
                 <br>
                 LongRange maxmimum="999"
                </td>
                <td>
                 <h:inputText id="MultiInput" required="true">
                  <f:validateLength minimum="2" maximum="3" />
                  <f:validateLongRange minimum="10" maximum="999" />
                 </h:inputText>
                </td>
                <td>
                 <h:message for="MultiInput" style="color: red" />
                </td>
               </tr>
              </table>
              <p>
               <h:commandButton value="Go!" />
             </h:form>
            </body>
           </f:view>


          </html>

          posted on 2009-06-05 13:57 開花流水 閱讀(1032) 評論(2)  編輯  收藏 所屬分類: java技術

          Feedback

          # re: jsf驗證的例子 2009-06-05 13:59 空山戊
          import java.io.*;
          import javax.faces.event.ActionEvent;
          import javax.faces.context.*;
          import java.util.*;
          import javax.faces.component.*;
          import javax.faces.application.*;
          import javax.faces.model.*;
          import javax.faces.component.html.*;
          import javax.faces.event.*;
          import javax.faces.lifecycle.*;
          import javax.faces.FactoryFinder;
          import javax.faces.lifecycle.Lifecycle;
          import javax.faces.component.UICommand;
          import javax.faces.validator.*;

          @SuppressWarnings("serial")
          public class TestForm implements Serializable
          {
          private int counter;
          private String message = "What time is love?";
          private String loggingMessage;
          private boolean toggleFlag = false;
          private int number;
          private String string;
          private javax.faces.component.UIData testTable;
          private double doubleValue = 0.056;
          private javax.faces.model.SelectItem[] colors;
          private transient UserConverter userConverter = new UserConverter();
          private UIPanel converterPanel = null;
          private UserBean user;
          private javax.faces.component.UIViewRoot view;
          private javax.faces.component.html.HtmlPanelGrid changePanel;
          private javax.faces.component.html.HtmlOutputText outputText;
          private javax.faces.component.html.HtmlDataTable dataTable;
          private javax.faces.application.Application application;
          private boolean addMessages = true;

          // Actions

          public TestForm()
          {
          colors = new SelectItem[5];
          colors[0] = new SelectItem("0", "blue");
          colors[1] = new SelectItem("1", "red");
          colors[2] = new SelectItem("2", "green");
          colors[3] = new SelectItem("3", "black");
          colors[4] = new SelectItem("4", "purple");

          UIOutput output = (UIOutput)getApplication().createComponent("javax.faces.Output");

          LifecycleFactory lifecycleFactory = (LifecycleFactory)FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
          Lifecycle lifecycle = lifecycleFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
          lifecycle.addPhaseListener(
          new PhaseListener()
          {
          public void beforePhase(PhaseEvent event)
          {
          // refreshList();
          }

          public void afterPhase(PhaseEvent event)
          {
          }

          public PhaseId getPhaseId()
          {
          return PhaseId.RENDER_RESPONSE;
          }
          });

          }

          public UICommand getTestCommand()
          {
          UICommand command = (UICommand)getApplication().
          createComponent(HtmlCommandButton.COMPONENT_TYPE);
          command.addActionListener(new ActionListener()
          {
          public void processAction(ActionEvent event) throws AbortProcessingException
          {
          FacesContext.getCurrentInstance().getExternalContext().
          log("User fired action for command " + event.getComponent());
          }
          });
          command.setValueBinding("value",
          getApplication().createValueBinding("#{myBean.userName}"));
          command.setValueBinding("title",
          getApplication().createValueBinding("#{myBundle.userNameTitle}"));

          LongRangeValidator myValidator = (LongRangeValidator)
          application.createValidator(LongRangeValidator.VALIDATOR_ID);
          myValidator.setMinimum(0);
          myValidator.setMaximum(555);
          UIInput input = new UIInput();
          input.addValidator(getApplication().createValidator(LongRangeValidator.VALIDATOR_ID));
          return null;
          }

          public String toggleNextOrPrevious()
          {
          toggleFlag = !toggleFlag;
          if (toggleFlag)
          {
          return "next";
          }
          else
          {
          return "previous";
          }
          }

          public String incrementCounter()
          {
          counter++;
          return "success";
          }

          public String loadInbox()
          {
          return "inbox";
          }

          public String logout()
          {
          return "logout";
          }

          public void incrementCounter(ActionEvent e)
          {
          counter++;
          }

          // Properties

          public int getCounter()
          {
          return counter;
          }

          public void setCounter(int counter)
          {
          this.counter = counter;
          }

          public String getMessage()
          {
          return message;
          }

          public void setMessage(String message)
          {
          this.message = message;
          }

          public String getLoggingMessage()
          {
          return loggingMessage;
          }

          public void setLoggingMessage(String loggingMessage)
          {
          this.loggingMessage = loggingMessage;
          }

          public boolean getTrueProperty()
          {
          return true;
          }

          public boolean getFalseProperty()
          {
          return false;
          }

          public int getNumber()
          {
          return number;
          }

          public void setNumber(int number)
          {
          this.number = number;
          }

          public String getString()
          {
          return string;
          }

          public void setString(String string)
          {
          this.string = string;
          }

          public void setConverterPanel(UIPanel panel)
          {
          this.converterPanel = panel;
          }

          public UIPanel getConverterPanel()
          {
          if (converterPanel == null)
          {
          converterPanel = (UIPanel)FacesContext.getCurrentInstance().getApplication().createComponent(HtmlPanelGrid.COMPONENT_TYPE);
          UIOutput output = (UIOutput)FacesContext.getCurrentInstance().getApplication().createComponent(HtmlOutputText.COMPONENT_TYPE);
          output.setValue("foo2");
          converterPanel.getChildren().add(output);
          }
          return converterPanel;
          }

          // Event handlers

          public void toggleLocale(ActionEvent e)
          {
          FacesContext context = FacesContext.getCurrentInstance();
          UIViewRoot view = context.getViewRoot();
          if (view.getLocale().equals(Locale.ENGLISH))
          {
          view.setLocale(new Locale("es", "ES"));
          }
          else
          {
          view.setLocale(Locale.ENGLISH);
          }
          }

          public void validateEmail(FacesContext context, UIComponent component,
          Object value)
          {
          EditableValueHolder input = (EditableValueHolder)component;
          context.getExternalContext().log("inside validateEmail");
          if (((String)value).indexOf("@") > -1)
          {
          input.setValid(true);
          }
          else
          {
          context.addMessage(component.getClientId(context),
          new FacesMessage("Invalid e-mail address", null));
          input.setValid(false);
          }
          }

          public void testCommand(ActionEvent e)
          {
          Map project = (Map)testTable.getRowData();
          message = (String)project.get("name");
          }

          public javax.faces.component.UIData getTestTable()
          {
          return testTable;
          }
          public void setTestTable(javax.faces.component.UIData testTable)
          {
          this.testTable = testTable;
          }
          public double getDoubleValue()
          {
          return doubleValue;
          }
          public void setDoubleValue(double doubleValue)
          {
          this.doubleValue = doubleValue;
          }
          public javax.faces.model.SelectItem[] getColors()
          {
          return colors;
          }
          public void setColors(javax.faces.model.SelectItem[] colors)
          {
          this.colors = colors;
          }
          public UserConverter getUserConverter() {
          return userConverter;
          }
          public void setUserConverter(UserConverter userConverter) {
          this.userConverter = userConverter;
          }

          protected void createComponent(Application app, List children,
          String componentType, String converterType)
          {
          /*
          HtmlOutputText outputText = application.createComponent(
          HtmlOutputText.COMPONENT_TYPE);

          UIComponent component = app.createComponent(componentType);
          if ((component instanceof UIOutput) && !(component instanceof UISelectBoolean))
          {
          if (componentType.indexOf("Select") > -1)
          {
          return;
          /* for (int i = 0; i < 50; i++)
          {
          UISelectItem item = new UISelectItem();
          item.setItemLabel(String.valueOf(i));
          item.setItemValue(String.valueOf(i));
          component.getChildren().add(item);
          }*/
          }
          /* UIOutput label = new UIOutput();
          label.setValue(componentType);
          children.add(label);


          ((UIOutput)component).setValue(new Date());
          //new User("foo", "foo", RoleType.BUSINESS_ANALYST));
          ((UIOutput)component).setConverter(app.createConverter(converterType));
          children.add(component);
          }
          }

          public void testConverters(ActionEvent e)
          {
          List children = converterPanel.getChildren();
          children.clear();
          Application app = FacesContext.getCurrentInstance().getApplication();
          Iterator componentTypes = app.getComponentTypes();
          while (componentTypes.hasNext())
          {
          createComponent(app, children, (String)componentTypes.next(), "DateTime");
          }
          }
          */
          public void addMessages(ActionEvent e)
          {
          FacesContext context = FacesContext.getCurrentInstance();
          if (addMessages)
          {
          context.addMessage(null, new FacesMessage("Your order has been processed successfully.", ""));
          context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,
          "Free shipping limit exceeded.",
          "We had to charge your card an extra $25 for shipping."));
          }
          }
          public UserBean getUser()
          {
          return user;
          }
          public void setUser(UserBean user)
          {
          this.user = user;
          }
          public javax.faces.component.UIViewRoot getView()
          {
          return view;
          }
          public void setView(javax.faces.component.UIViewRoot view)
          {
          this.view = view;
          }

          public void sendMessage(ActionEvent e)
          {
          FacesContext context = FacesContext.getCurrentInstance();
          UIViewRoot view = context.getViewRoot();
          HtmlOutputText output =
          (HtmlOutputText)view.findComponent("messageForm:outputMessage");
          output.setStyle("color:blue");
          output.setValue("Who's the Mann?");
          }

          public void processValueChanged(ValueChangeEvent event)
          // throws AbortProcessingException
          {
          /* UIInput sender = (UIInput)event.getComponent();
          sender.setReadonly(true);
          changePanel.setRendered(true);*/
          }

          public javax.faces.component.html.HtmlPanelGrid getChangePanel()
          {
          return changePanel;
          }
          public void setChangePanel(javax.faces.component.html.HtmlPanelGrid changePanel)
          {
          this.changePanel = changePanel;
          }
          public javax.faces.component.html.HtmlOutputText getOutputText()
          {
          return outputText;
          }
          public void setOutputText(javax.faces.component.html.HtmlOutputText outputText)
          {
          this.outputText = outputText;
          }
          public javax.faces.component.html.HtmlDataTable getDataTable()
          {
          if (dataTable == null)
          {
          String numberStrings[] = new String[] {"one", "two", "three"};
          FacesContext facesContext = FacesContext.getCurrentInstance();
          dataTable = (HtmlDataTable)facesContext.getApplication().createComponent(
          HtmlDataTable.COMPONENT_TYPE);
          DataModel myDataModel = new ArrayDataModel(numberStrings);
          myDataModel.addDataModelListener(new DataModelListener()
          {

          public void rowSelected(DataModelEvent e)
          {
          FacesContext.getCurrentInstance().getExternalContext().
          log("phase: " + e.getRowIndex() + "; row seleted:" + e.getRowIndex());
          }
          });
          dataTable.setValue(myDataModel);
          }
          return dataTable;
          }

          public void setDataTable(javax.faces.component.html.HtmlDataTable dataTable)
          {
          this.dataTable = dataTable;
          }
          public javax.faces.application.Application getApplication()
          {
          return FacesContext.getCurrentInstance().getApplication();
          }
          public void setApplication(javax.faces.application.Application application)
          {
          this.application = application;
          }
          public boolean isAddMessages()
          {
          return addMessages;
          }
          public void setAddMessages(boolean addMessages)
          {
          this.addMessages = addMessages;
          }

          public void deleteUser(ActionEvent e)
          {
          UserBean user = (UserBean)testTable.getRowData();
          ArrayList userList = (ArrayList)testTable.getValue();
          userList.remove(user);
          }

          public String testImmediate()
          {
          FacesContext.getCurrentInstance().getExternalContext().log("Input value = " + message);
          return null;
          }

          }
            回復  更多評論
            

          # re: jsf驗證的例子 2011-05-02 22:33 代寫文章
          ://www.daixie9.com">www.daixie99.com  回復  更多評論
            

          主站蜘蛛池模板: 沂源县| 乌什县| 连江县| 屯昌县| 新营市| 巫溪县| 射阳县| 安西县| 驻马店市| 土默特右旗| 三原县| 营口市| 桦南县| 讷河市| 娱乐| 富川| 新源县| 策勒县| 红河县| 平利县| 汝州市| 阜南县| 丰台区| 自贡市| 新沂市| 报价| 平原县| 大田县| 班戈县| 沛县| 凭祥市| 嘉兴市| 得荣县| 苏尼特右旗| 丰宁| 泰来县| 巴林右旗| 甘谷县| 青浦区| 塔河县| 长泰县|