我正在尝试使用带有RichFaces suggestionBox组件的SelectItem列表.问题是我需要存储id而不是SelectItem的标签.似乎suggestionBox总是存储标签,这会导致问题.有没有办法摆脱这个问题?
当我在a4j:commandButton上包含'disabled'属性时,不执行按钮的操作.取消"禁用"属性会使其正常工作.我没有做任何特殊验证(我知道)并且没有看到任何验证错误消息.
这是我的页面的一部分:
<t:dataTable id="myTable"
var="region"
value="#{MyPageBackingBean.regions}"
width="100%">
...
<a4j:commandButton value="Update"
action="#{region.doUpdate}"
oncomplete="alert('done');"
disabled="#{!empty region && region.messageEmpty}"
immediate="true"/>
...
</t:dataTable>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢!
编辑:
我尝试在t:dataTable上设置preserveDataModel ="true"无效.
我还做了一个测试有一个a4j:commandButton和没有数据表的文本框,但仍然没有触发支持bean操作:
<h:form>
<a4j:region>
<a4j:outputPanel id="testregion">
<h:messages id="messages"/>
<a4j:status>
<f:facet name="start">
<h:graphicImage value="/images/progress_indicator.gif"/>
</f:facet>
</a4j:status>
<h:inputTextarea
rows="5"
value="#{MyPageBackingBean.myValue}"
style="width:100%; border: 1px solid #99CCFF;">
<a4j:support event="onkeyup"
reRender="testregion"
eventsQueue="messageModificationQueue"
ignoreDupResponses="true"
requestDelay="500"/>
</h:inputTextarea>
<a4j:commandButton id="doDelete"
value="Delete"
action="#{MyPageBackingBean.dummy}"
reRender="testregion"
disabled="#{empty MyPageBackingBean.myValue}"/>
<h:outputText value="#{MyPageBackingBean.myValue}"/>
</a4j:outputPanel>
</a4j:region>
</h:form>
Run Code Online (Sandbox Code Playgroud)
以下是用于测试的新支持bean代码:
private String m_myValue = null;
public String getMyValue()
{
return m_myValue;
}
public void setMyValue(String …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种显示/隐藏任意RichFaces组件的方法.在这种情况下,我有一个<rich:dataTable>包含几行.每行都需要拥有自己独立的显示/隐藏链接,这样当您点击"显示详细信息"时,会发生两件事:
rendered="true",但style="display: none;").如果不是绝对必要,我不想编写自己的JavaScript函数.我也不想让服务器端的bean跟踪显示哪些detailColumns,然后通过AJAX重新渲染所有内容:这应该是纯粹的客户端行为.我不知道如何做到这一点.
以下伪代码(希望如此)说明了我的目标:
<rich:column>
<a href="#" onclick="#{thisRow.detailsColumn}.show();" rendered="">Show details</a>
<a href="#" onclick="#{thisRow.detailsColumn}.hide();" rendered="">Hide details</a>
</rich:column>
<rich:column>
<h:outputText value="#{thisRow.someData}" />
</rich:column>
<rich:column id="detailsColumn" colspan="2" breakBefore="true">
<h:outputText value="#{thisRow.someMoreData}" />
</rich:column>
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何找出我正在运行的Richfaces版本吗?
我需要知道我是否已经安装了jQuery,所以也许一种测试方法也可以作为答案.
我正在使用JBOSS Developer Studio的版本:2.1.0.GA ..如果有帮助的话.
我有一个JSF/RichFaces设置,我找到了本教程.我一步一步地跟着它,但我无法得到它.
另外:教程中提到了language.jsp,有人可以告诉我它有什么特别之处吗?
或者,如果您认为这不是一个合适的教程并且有更好的教程,请告诉我.
如何在Datatable中正确实现带有UIInput组件的ValueChangeListener,然后我在一个监听器方法中获取行索引已更改,新值和旧值
<datatable>
<column>
<input value="item.unitPrice" valueChangeListener="#{bean.myListener}">
</column>
Run Code Online (Sandbox Code Playgroud)
更改,不一定生成POST到服务器,Post可能由其他事件生成.
任何帮助,谢谢.
除了XHTML之外,如何使用具有不同扩展名的视图文件仍然映射到JSF 2.0应用程序中的Faces Servlet?
我正在将JSF 1.2应用程序迁移到2.0,并且我使用文件扩展名jspx.我不想将它们改为xhtml.
在此先感谢您的帮助.
这是我现在的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="JSF2Sample" version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/app-tags.taglib.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jspx</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>xcss</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud) 我有这个组件:
<rich:calendar enableManualInput="true" value="#{home.born}" datePattern="dd/MM/yyyy" />
Run Code Online (Sandbox Code Playgroud)
我需要验证选定的日期是否相等,或者在实际日期之前验证...是否只有富人才能做到:日历或我必须验证它到家里?
问题解决了!我使用了Balusc提供的解决方案.谢谢大家!:)
我有一个用户表a4j:commandLink,删除了相应的用户,但问题是我需要点击两次才能执行该操作,我该如何解决,这是代码:
<h:form id="formUsuariosRegistrados">
<rich:dataScroller for="usersTable" fastControls="hide"
boundaryControls="hide" />
<rich:dataTable id="usersTable" rows="10" var="user"
value="#{administrationBean.tablaUsuarios}">
<f:facet name="header">
<rich:columnGroup>
<rich:column>
<h:outputText value="Nombre"/>
</rich:column>
<rich:column>
<h:outputText value="Usuario"/>
</rich:column>
<rich:column>
<h:outputText value="Dependencia"/>
</rich:column>
<rich:column>
<h:outputText value="Email"/>
</rich:column>
<rich:column>
<h:outputText value="Tipo usuario"/>
</rich:column>
<rich:column>
<h:outputText value="Tipo dependencia"/>
</rich:column>
<rich:column>
<h:outputText value="Fecha límite"/>
</rich:column>
<rich:column>
<h:outputText value=""/>
</rich:column>
</rich:columnGroup>
</f:facet>
<rich:column>
<h:outputText value="#{user.nombre}"/>
</rich:column>
<rich:column>
<h:outputText value="#{user.usuario}"/>
</rich:column>
<rich:column>
<h:outputText value="#{user.dependencia}"/>
</rich:column>
<rich:column>
<h:outputText value="#{user.correo}"/>
</rich:column>
<rich:column>
<h:outputText value="#{user.tipoUsuario}"/>
</rich:column>
<rich:column>
<h:outputText value="#{user.tipoDependencia}"/>
</rich:column>
<rich:column> …Run Code Online (Sandbox Code Playgroud) 我有一个<rich:popupPanel>我必须要风格的.我检查了元素,发现使用了以下CSS.
.rf-pp-hdr-cnt {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-weight: bold;
font-family: Arial, Verdana, sans-serif;
font-size: 17px;
}
Run Code Online (Sandbox Code Playgroud)
现在我对这个CSS进行了更改,并将其包含在我的CSS文件中.但是,我的自定义CSS将被忽略,并且会读取原始的RichFaces样式.如何使用我的自定义CSS并覆盖原始CSS?