Jsf 2 带参数的jsf2模板组件
我有一个jsf模板页面。在这个模板中,我想使用带有参数的组件。实际上,我想对集合进行迭代。此集合应由特定页面中的参数确定。参数名称已在菜单中选择。我如何在我的豆子里使用这个Jsf 2 带参数的jsf2模板组件,jsf-2,Jsf 2,我有一个jsf模板页面。在这个模板中,我想使用带有参数的组件。实际上,我想对集合进行迭代。此集合应由特定页面中的参数确定。参数名称已在菜单中选择。我如何在我的豆子里使用这个 <div id="notes"> selectedMenu: #{selectedMenu} <h:form> <h:inputHidden value="#{nota
<div id="notes">
selectedMenu: #{selectedMenu}
<h:form>
<h:inputHidden value="#{notatkaController.searchForm.kategoria}">
<f:param value="#{selectedMenu}" />
</h:inputHidden>
<ui:repeat value="#{notatkaController.items}" var="item" varStatus="iter">
<f:param value="#{selectedMenu}" />
<p class="q-title"><strong><h:outputText value="#{item.ntaData}" /></strong></p>
<p class="answer"><h:outputText value="#{item.ntaDane}" escape="false" /></p>
</ui:repeat>
<span>Moje notatki</span>
<textarea>Tu wpisz treść swojej notatki</textarea>
<span>[+] dodaj notatkę</span>
</h:form>
</div>
selectedMenu:#{selectedMenu}
莫耶·诺塔基
图wpisz treśćswojej notatki
[+]dodaj notatkę
我的豆豆:
@ManagedBean(name = "notatkaController")
@ViewScoped
public class NotatkaController extends AbstractController<Notatka> implements Serializable {
@EJB
private pl.alfaprojekt.model.session.NotatkaFacade ejbFacade;
private NotatkaSearchForm searchForm;
public DataModel getItems() {
if (items == null)
items = getPagination().createPageDataModel();
return items;
}
public PaginationHelper getPagination() {
if (pagination == null) {
if (paginationSize == null)
paginationSize = 10;
pagination = new PaginationHelper(paginationSize) {
@Override
public int getItemsCount() {
return getFacade().countByParam(getSearchForm());
}
@Override
public DataModel createPageDataModel() {
if (rapId == null)
return new ListDataModel(getFacade().findRangeByParam(getSearchForm(), new int[]{getPageFirstItem(), getPageFirstItem() + getPageSize()}));
else {
Long uzyId = SessionUtil.getUser().getUzyId();
return new ListDataModel(convertToRaportWierszList(getFacade().findRangeByParam(getSearchForm(), new int[]{getPageFirstItem(), getPageFirstItem() + getPageSize()}), uzyId));
}
}
};
}
return pagination;
}
@ManagedBean(name=“notatkaController”)
@视域
公共类NotatkaController扩展AbstractController实现可序列化{
@EJB
私有pl.alfaprojekt.model.session.NotatkaFacade ejbFacade;
私人NotatkaSearchForm搜索表单;
公共数据模型getItems(){
if(items==null)
items=getPagination().createPageDataModel();
退货项目;
}
公共分页助手getPagination(){
如果(分页==null){
如果(分页大小==null)
分页大小=10;
pagination=新建PaginationHelper(paginationSize){
@凌驾
public int getItemsCount(){
返回getFacade().countByParam(getSearchForm());
}
@凌驾
公共数据模型createPageDataModel(){
if(rapId==null)
返回新的ListDataModel(getFacade().findRangeByParam(getSearchForm(),new int[]{getPageFirstItem(),getPageFirstItem()+getPageSize()}));
否则{
Long-uzyId=SessionUtil.getUser().getUzyId();
返回新的ListDataModel(convertToRaportWierszList(getFacade().findRangeByParam(getSearchForm(),new int[]{getPageFirstItem(),getPageFirstItem()+getPageSize()}),uzyId));
}
}
};
}
返回分页;
}
}我不确定我是否理解了这个问题,但我回答的问题是: 我想动态显示一些东西。我想告诉它当页面被访问时显示什么 查看:
<f:metadata>
<f:event listener="#{myBean.myMethod}" type="preRenderView" id="fevent"/>
<f:attribute name="myParam" value="#{mySecondBean.param)" />
</f:metadata>
然后,您可以使用以下选项:
<f:event listener="#{myBean.myMethod}" type="preRenderView" />
带参数:
<f:metadata>
<f:event listener="#{myBean.myMethod}" type="preRenderView" id="fevent"/>
<f:attribute name="myParam" value="#{mySecondBean.param)" />
</f:metadata>
public void myMethod(ComponentSystemEvent event){
String id = (String) event.getComponent().getAttributes().get("myParam");
}