验证是在客户端还是在服务器端进行?

时间:2017-08-27 13:15:54

标签: jsf jsf-2

我使用NetBeans 8.2,JSF 2.2和glassfish 4.1。我已尝试过以下部分代码:

我的xhtml页面代码:

    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://xmlns.jcp.org/jsf/html"
          xmlns:f="http://xmlns.jcp.org/jsf/core">
        <h:head>
            <title>Facelet Title</title>
        </h:head>
        <h:body>
            <h:form>
                <h:inputText  value="#{myBean.inputValue}">
                    <f:validateLongRange minimum="25" maximum="40"/>
                </h:inputText>
               <h:commandButton
                   value="submit"
                   action="#{myBean.action}" />
               <h:outputText 
                   value="#{myBean.outputValue}" />
               <h:messages />
            </h:form>
        </h:body>
    </html>

我的托管bean如下:

    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.RequestScoped;

    @ManagedBean
    @RequestScoped
    public class MyBean {

        private String inputValue;
        private String outputValue;

        public MyBean() {
        }

        public void action() {
            outputValue = inputValue;
        }

        // Getters/setters 
        public String getInputValue() {
            return inputValue;
        }

        public void setInputValue(String inputValue) {
            this.inputValue = inputValue;
        }

        public String getOutputValue() {
            return outputValue;
        }

    }

一切正常。我的问题是:当我检查生成的页面时

我没有看到任何javascript函数或执行测试的任何其他代码。我想了解究竟发生了什么,代码执行测试的部分在哪里?

此外,&#34; 3.3)验证器中的here&#34;部分,我读过这个:

  

几乎任何应用程序都必须验证。客户输入的数据必须在发送到服务器进行处理之前进行验证。

让我更加困惑。验证是在客户端还是在服务器端进行?

0 个答案:

没有答案