gpt4 book ai didi

java - primefaces 3.2 菜单项错误

转载 作者:行者123 更新时间:2023-12-01 15:22:07 26 4
gpt4 key购买 nike

我有 3 个表单,每个表单都包含包含数据表的组件。我希望将它们组合成一个表单(因为每个表单都包含相同的 UI 组件集)。我想到使用 <p:menu>以此目的。 <p:menu>有 3 个菜单项,单击每个项目时,应呈现适当的表单内容。但是当我指定 <p:menu> 的操作属性时,我收到以下错误:

Element type "p:menuitem" must be followed by either attribute specifications, ">" or "/>".

xhtml 代码:

<h:form id="frm">
<p:menu>
<p:menuitem value="price losers" action="#{equityBean.onType("losers")}"/>
<p:menuitem value="price gainers"/>
<p:menuitem value="price volume"/>
</p:menu>
<p:tabView activeIndex="#{equityBean.activeIndex}">
<p:ajax event="tabChange" listener="#{equityBean.onChange}" update=":frm"/>
<p:tab title="NSE">

<p:dataTable value="#{equityBean.scripList}" var="scrip">
....
</p:dataTable>
</p:tab>
<p:tab title="BSE">
<p:dataTable value="#{equityBean.scripList}" var="scrip">
.....
</p:dataTable>
</p:tab>
</p:tabView>
</h:form>

bean 代码:

public void onType(String type)
{
this.type=type;
}

public List<MasterScrip> getScripList() {

if(type.equalsIgnoreCase("losers"))
{
scripList=new ArrayList<MasterScrip> ();
scripList=getScripByPriceLosers(exchange);
return scripList;
}
else if(type.equalsIgnoreCase("gainers"))
{
scripList=new ArrayList<MasterScrip> ();
scripList=getScripByPriceLosers(exchange);
return scripList;
}
else
{
scripList=new ArrayList<MasterScrip> ();
scripList=getScripByVolumeType(exchange);
return scripList;
}
}

我哪里出错了?

最佳答案

您需要转义字符串中的引号。具体来说,这个

"#{equityBean.onType("losers")}"

无效,因为 "#{equityBean.onType(" 被解析为值,然后解析器出现错误,因为 losers 不是有效的延续

你需要写

"#{equityBean.onType(&quot;losers&quot;)}"

'#{equityBean.onType("losers")}'

第一个转义引号,第二个使用替代字符串分隔符(' 而不是 "),因此它不会与字符串中的引号

关于java - primefaces 3.2 菜单项错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10748380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com