小编Tin*_*ard的帖子

验证失败后的Primefaces JSF更新不起作用

我对a的验证<p:inputText>和更新其内容有疑问.

基本上,当inputText验证失败时,它永远不会再次更新.

这是一个简单的例子来澄清:

Facelet:

!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://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">
    <h:head>
    </h:head>
    <body>
    <h1>Test</h1>

        <h:form id="list" prependId="false">
            <ul>
                <li>Element 1&#160;
                    <p:commandLink action="#{Test.assignElement}" update="detail_value">
                        <f:setPropertyActionListener target="#{Test.currentElement}" value="1" />
                        Assign
                    </p:commandLink>
                </li>
                <li>Element 2&#160;
                    <p:commandLink action="#{Test.assignElement}" update="detail_value">
                        <f:setPropertyActionListener target="#{Test.currentElement}" value="2" />
                        Assign
                    </p:commandLink>
                </li>
            </ul>
        </h:form>

        <h:form id="detail" prependId="false">
            <p:inputText value="#{Test.element}" id="detail_value" required="true" styleClass="#{Faces.messagesFor['detail_value'] ? 'border:1px solid red' : ''}">
                <p:ajax event="blur" update="detail_value"></p:ajax>
            </p:inputText>
        </h:form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

测试bean:

package com.easydevel.test;

public class …
Run Code Online (Sandbox Code Playgroud)

validation jsf primefaces ajax-update

15
推荐指数
2
解决办法
2万
查看次数

facelets ui:fragment忽略渲染属性

我对这段代码有一种非常奇怪的行为:

<ui:fragment rendered="#{price.guestIdTrue}">
<b>PRICE_GUEST_ID_TRUE : #{price.guestIdTrue}</b>
    <h:outputText>#{Global.guestTypeMap[price.guestId]}&#160;#{price.guestIndex}</h:outputText>
</ui:fragment>
Run Code Online (Sandbox Code Playgroud)

即使渲染条件为假,也是如此

PRICE_GUEST_ID_TRUE:false 1

1是#{price.guestIndex}

ui名称空间已正确定义,并且适用于其他facelets.

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:t="http://myfaces.apache.org/tomahawk">
Run Code Online (Sandbox Code Playgroud)

什么发生的想法.

提前致谢.

jsf facelets primefaces jsf-2

3
推荐指数
1
解决办法
4503
查看次数

标签 统计

jsf ×2

primefaces ×2

ajax-update ×1

facelets ×1

jsf-2 ×1

validation ×1