我使用Richfaces,Seam和JSF,我想要如下内容:

我使用一个富有的子程序来管理它:这样的子表:
<rich:dataTable
value="#{backingBean.companyList}"
rows="100"
var="company">
<f:facet name="header">
<rich:columnGroup>
<rich:column>Company Name</rich:column>
<rich:column>Company Email</rich:column>
<rich:column>Product Name</rich:column>
<rich:column>Product Email</rich:column>
</rich:columnGroup>
</f:facet>
<rich:subTable value="#{company.products}" var="product" rowKeyVar="rowKey">
<rich:column rowspan="#{company.products.size()}" rendered="#{rowKey eq 0}">
#{company.name}
</rich:column>
<rich:column rowspan="#{company.products.size()}" rendered="#{rowKey eq 0}">
#{company.email}
</rich:column>
<rich:column>
#{product.name}
</rich:column>
<rich:column>
#{product.email}
</rich:column>
</rich:subTable>
Run Code Online (Sandbox Code Playgroud)
问题是没有产品的公司根本没有得到渲染.我想要的是渲染它们,剩下的行(特定于产品的列)是空的.
有没有办法做到这一点?
注意:我还尝试了嵌套的rich:datatables,但内部列与包含标题的外部列不重叠.使用rich:subtable,内部列与外部列重叠并显示不错.
更新:
我创建了一个Google Code项目(一个简单的Maven项目),可以准确显示问题所在.
如何设置rich:column内部的colum宽度rich:datatable?该width属性被忽略.请参阅以下代码:
<rich:column label="#{msg[result]}" width="150px">
<f:facet name="header">
<h:outputText value="#{veryLongText}"/>
</f:facet>
<h:outputText value="#{someValue}" />
<f:facet name="footer">
<h:outputText value="#{someValue}" />
</f:facet>
</rich:column>
Run Code Online (Sandbox Code Playgroud)
如果渲染此列并且veryLongText宽度大于150px,则不会在多行中将其分解.相反,它只是忽略列宽并占用所需的空间.
如何解决这个问题?
发现奇怪的问题,可能是bug.
我有2个相同的网页与Richfaces:suggestionbox.
在第一个我的建议箱做得很好,一切正常,但在另一个我有一些问题.SuggestionBox没有显示我的建议.在日志中我有这样的事情:
WARNING: No component found to process as 'ajaxSingle' for clientId remains-form:konta-suggest
2010.1.9 12:02:29 org.ajax4jsf.component.AjaxViewRoot processPhase
Run Code Online (Sandbox Code Playgroud)
任何结论?
UPD:
<h:inputText value="#{repobean.kont}" id="kont" label="Payer" style="width:230px;"/>
<rich:suggestionbox onobjectchange="printObjectsSelected(#{rich:element('konta-id')}, #{rich:component('konta-suggest')}, 'id');" usingSuggestObjects="true" width="230" var="result" fetchValue="#{result.kont}" suggestionAction="#{kontabean.suggest}" id="konta-suggest" for="kont">
<h:column>
<h:outputText value="#{result.kont}"/>
</h:column>
<h:column>
<h:outputText value="#{result.kontName}"/>
</h:column>
</rich:suggestionbox>
<h:inputHidden id="konta-id" value="#{repobean.kontId}" />
Run Code Online (Sandbox Code Playgroud)
onobjectchange中的Javascript是一个将id打印到konta-id的函数.
第二页上的jsp代码从第一页复制粘贴.
我想rich:effect在我的应用程序中使用带有JSF元素,但是在AJAX方面遇到了一些麻烦.
根据下面的内容,我有一个h:outputText具有JSF引用值(#{MyBacking.sysMsg})的元素,该元素在用户体验应用程序时会发生变化.由于rich:effect元素使用javascript事件,因此指定下面的代码不起作用.
我已经尝试过使用a4j:支持ajaxify h:outputText元素,但这似乎也被忽略了.用户不会点击任何按钮 - sysMsg变量在其他地方更新,我想突出显示对受众的更改.
代码如下:
<h:outputText value="#{MyBacking.sysMsg}" id="sysMsg" style="#{MyBacking.colour}" />
<rich:effect event="onchange" type="Highlight" params="duration:0.8" />
<rich:effect event="onchange" for="sysMsg" type="Appear" params="delay:3.0,duration:0.5" />
Run Code Online (Sandbox Code Playgroud)
我认为这肯定会有一个简单的答案,但我似乎无法在脑海中或网上找到答案.谁能帮我?
只是尝试集成这个commandLink
<a4j:commandLink reRender="results-view" actionListener="#{myaction}" oncomplete="return false;" value="#{msg1.advanced_search}">
<a4j:support event="onclick">
<f:setPropertyActionListener value="./page.xhtml" target="#{changeViews['new-view'].value}" />
</a4j:support>
</a4j:commandLink>
Run Code Online (Sandbox Code Playgroud)
在使用JSF2的应用程序上.如果我离开它,我会收到此错误
标记库支持名称空间:http://richfaces.org/a4j,但没有为name:support定义标记
我试图在网上找到一些东西,但我想不出来.一些帮助会很棒.
提前致谢
我想显示错误消息,如"以下标题无效
1.Name
2.Roll no
Run Code Online (Sandbox Code Playgroud)
如何在jsf中使用faces消息显示这个?请帮帮我.
在阅读RichFaces Vs PrimeFaces(性能)之后,我很想在我的Web应用程序中使用这两者来从两者中获得最大收益.
你觉得这可能吗?有哪些优点和缺点?
我试图从JSF页面访问多个资源包.我有两个资源包:
general_messages.propertiesmodule_message.properties我想在JSF文件中访问这两个资源包.我可以这样做的一种方法是为每个捆绑包定义特定属性:
<f:loadBundle basename="com.sample.general_messages" var="general"/>
<f:loadBundle basename="com.sample.module_message" var="module"/>
Run Code Online (Sandbox Code Playgroud)
有没有办法可以使用相同的变量名访问这两个资源包.就像是:
<f:loadBundle basename="com.sample.general_messages, com.sample.module_message" var="general"/>
Run Code Online (Sandbox Code Playgroud)
或者访问多个资源包的任何其他最佳方式?
我需要在表单的输入字段中添加一些掩码.我尝试在下面的代码中插入jQuery.js和jQuery.MaskedInput.js显示:
<h:head>
<h:outputScript name="jquery-1.6.4.min.js" library="javascript" />
<h:outputScript name="jquery.maskedinput-1.3.js" library="javascript" />
<script>
jQuery(function($){
$("#date").mask("99/99/9999");
$("#phone").mask("(999) 999-9999");
$("#tin").mask("99-9999999");
$("#ssn").mask("999-99-9999");
});
</script>
<title>TITLE</title>
</h:head>
<h:body>
<h:form id="form">
<h:inputText id= "date" />
</h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)
到目前为止没什么.
更新
使用BalusC,$("[id='form:phone']").mask("(99) 9999-9999");它工作正常!(多谢,伙计).但是我需要在数据表中应用这个掩码:
<script>
jQuery(function($){
$("input.phones").mask("(999) 999-9999");
});
</script>
<title>TITLE</title>
Run Code Online (Sandbox Code Playgroud)
<h:form id="form">
<h:panelGrid columns="3">
<h:outputLabel for="phones" value="Telefone(s) :" />
<h:dataTable id="phones" value="#{profile.user.userPhones}" var="item">
<h:column>
<h:inputText id= "phone" value="#{item.phone}" />
</h:column>
<h:column>
<h:commandButton value="Remove" action="#{profile.removePhone}"/>
</h:column>
<h:column>
<rich:message id="m_phone" for="phone" />
</h:column>
</h:dataTable>
<h:commandButton …Run Code Online (Sandbox Code Playgroud) 我有一个rich:tabPanel用switchType="client",其中一个标签设置了它switchType,ajax因为加载它的数据是一个昂贵的操作.当我单击此Ajax选项卡时,我希望将其标题更改为正在加载...以指示已识别出单击.加载完成后,标题应切换回Ajax Tab.
[Client Tab] [Ajax Tab]
<click on 'Ajax Tab'>
[Client Tab] [Loading...]
<wait...>
[Client Tab] [Ajax Tab]
<click on 'Client Tab'>
[Client Tab] [Ajax Tab]
Run Code Online (Sandbox Code Playgroud)
其实,大多数的上述预期作品所描述的,我唯一的问题是,当我从导航阿贾克斯选项卡到任何其他选项卡,将标题阿贾克斯Tab键切换回载入中...:
[Client Tab] [Ajax Tab]
<click on 'Ajax Tab'>
[Client Tab] [Loading...]
<wait...>
[Client Tab] [Ajax Tab]
<click on 'Client Tab'>
[Client Tab] [Loading...]
Run Code Online (Sandbox Code Playgroud)
我在RichFaces的JIRA中发现了一个问题,但是从版本3.2.1开始修复了这个问题.此外,我用谷歌搜索了几个小时,但未能找到任何类似的问题.
richfaces ×10
jsf ×7
jsf-2 ×5
java ×4
ajax4jsf ×2
ajax ×1
css ×1
datatable ×1
input-mask ×1
java-ee ×1
javascript ×1
jquery ×1
primefaces ×1
spring ×1