我正在尝试使用p:dataTable.我有三栏.在第二列中我有命令按钮,当点击它时,它应该在第3列的相应行显示输入框.第3列上的输入框已设置为style ="display:none"
我的xhtml
<h:form>
<p:dataTable var="name" value="#{model.namelist}" rowIndexVar="rowIndex">
<p:column>
<h:outputText value="#{name} -----"></h:outputText>
</p:column>
<p:column>
<p:commandButton value="click" onclick="som_#{rowIndex}.show();"></p:commandButton>
</p:column>
<p:column>
<p:inputText widgetVar="som_#{rowIndex}" style="display:none">
</p:inputText>
</p:column>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
我认为它应该有用,但我不知道我在哪里做错了.
我使用的是 JSF 2.0 和 primefaces 3.0。我有一个 rowtoggler 和 rowexpansion。由于我使用的是 primefaces 旧版本,所以我没有 rowToggle 事件。并且我需要在行扩展时通过ajax调用服务器端的方法。所以我在 rowtoggler 周围放置了 div 标签并调用了一个 javascript 函数。现在我想通过位于 rowexpansion 中的 panelgrid 的 click 事件启动 ajax 调用。如果发生这种情况,它将看起来像 3.4 rowToggle 事件。
我正在寻找可能性,如果我可以根据从托管bean收到的值获得resourcbundle值.它可能在datatable,datagrid以及呈现值的其他组件中很有用.
我试过这段代码:
<h:outputText value="#{resourceBundle['myBean.myMsg']}" />
Run Code Online (Sandbox Code Playgroud)
但它没有用.我的outputText无法从resourcebundle获取值.结果如下:
???myBean.myMsg
Run Code Online (Sandbox Code Playgroud) 假设我有一个用户名来验证,在这种情况下,当验证失败时,我需要以红色显示用户名outputText和用户名inputText字段以及错误消息.
我试图在面板组中绑定所有这些,以便在验证失败时,所有字段都应该受到影响.但是简单地放置panelgroup是行不通的.
我的支持bean验证器
public void emailValidate(FacesContext context,
UIComponent componentToValidate,
Object value)
throws ValidatorException {
String email = value.toString();
if (!Validator.isEmailAddress(email))
{
FacesMessage message =
new FacesMessage(FacesMessage.SEVERITY_ERROR,"Email","Please enter valid email address");
throw new ValidatorException(message);
}
}
Run Code Online (Sandbox Code Playgroud)
我的Jsf
<h:panelGroup>
<h:outputText value="Email"/>
<h:message for="emailInput/>
<h:inputText id="emailInput" value="#{mybean.email}" validator="#{mybean.emailValidate}"/>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud) 我有一些输入字段和一些selectonemenu,我需要验证它们并根据它们的验证我必须显示整个页面的错误消息.我还必须显示带有输入字段和selectonemenu的消息.
我的验证仅适用于空值和空值.由于我想显示基于null和空白字段的消息,我尝试了bean端验证.但我的验证方法永远不会被调用空白字段.
我有一个h:inputText,h:selectonemenu和commandbuton.Inputtext是必填字段,我将其定义为immediate ="true".然后,当我单击按钮时,我想将selectonemenu的当前值传递给托管bean.但它的passig null.如何管理此验证,以便我可以在托管bean中获取selectOneMenu的值.
我的代码是......
<h:inputText id="inputSome" required="true" requiredMessage="Pls enter something"/>
<h:message for="inputSome"></h:message>
<h:selectOneMenu id="recepients" value="#{controller.selected}" immediate="true">
<f:selectItem itemLabel="Select" itemValue=""/>
<f:selectItems value="#{controller.tempNameList1}"></f:selectItems>
</h:selectOneMenu>
<p:commandButton value="Add" action="#{controller.submit}"
immediate="true"/>
Run Code Online (Sandbox Code Playgroud) jsf ×6
primefaces ×3
validation ×3
facelets ×2
ajax ×1
css ×1
highlight ×1
javascript ×1
jquery ×1
xhtml ×1