web浏览器上java字符串变量中javascript警报函数的工作原理

web浏览器上java字符串变量中javascript警报函数的工作原理,javascript,validation,jsf,alert,Javascript,Validation,Jsf,Alert,我在课堂上有一个字符串变量 字符串消息 private int checkConstraints() int a = 0; if (docProcessId==0) { a++; message = "<script language=\"javascript\"> alert('Please Select Doc Process Name'); </script>"; }else if (refTypeName.equal

我在课堂上有一个字符串变量 字符串消息

private int checkConstraints() 
    int a = 0;
    if (docProcessId==0) {
        a++;
   message = "<script language=\"javascript\"> alert('Please Select Doc Process Name'); </script>";
    }else if (refTypeName.equals("")) {
        a++;
        message = "<script> alert('Enter Reference Type Name!');</script>";
    }

    return a;

}
private int checkConstraints()
int a=0;
如果(docProcessId==0){
a++;
message=“警报('请选择单据流程名称');”;
}else if(refTypeName.equals(“”){
a++;
message=“alert('输入引用类型名称!');”;
}
返回a;
}

实际上我是这样做的,但当调用此方法时,不等于0,则消息等于整个页面上的字符串打印,不提供任何解决方案,请发出警报。默认情况下,JSF HTML将所有模型值转义为。你的具体问题表明你对此一无所知。您可以使用
转义
属性设置为
false
来“解决”它

<h:outputText value="#{bean.message}" escape="false" />

在附加此字符串的网页中。
<h:form>
    <h:selectOneMenu value="#{bean.docProcessId}" required="true" 
        requiredMessage="Please Select Doc Process Name">
        <f:selectItems ... />
    </h:selectOneMenu>
    <h:inputText value="#{bean.refTypeName}" required="true"
        requiredMessage="Enter Reference Type Name" />
    <h:commandButton value="submit" />
    <h:messages />
</h:form>
<ui:repeat value="#{facesContext.messageList}" var="message">
    <script>alert("#{message.summary}");</script>
</ui:repeat>