【发布时间】:2017-05-15 20:43:52
【问题描述】:
在将查询参数传递到下一个 JSF 页面时,我需要帮助。我已经尝试了一切,但我被卡住了。如果我自己输入网址,我可以在第二页中检索参数。示例:来自 primefaces commandButton 操作的 localhost:8080/devices?propId=24&faces-redirect=true。但是,如果我尝试动态执行此操作,则会收到如下错误:Not a Valid Method Expression: property/devices?propId=#{recentPropertyFEnd.selected.idpropertytable}&faces-redirect=true。
我什么都试过了。 f:param、f:viewParam 等,但没有任何效果。
我想问题是,从 JSF 中的 commandButton 发送查询参数的正确方法是什么?
第一页的命令按钮:
<p:commandButton value="Show Devices" action="property/devices?propId=#{recentPropertyFEnd.selected.idpropertytable}&faces-redirect=true"> </p:commandButton>
第二页 f:viewParam:
<f:metadata>
<f:viewParam name="propId" value="#{deviceFEnd.propId}"/>
<f:viewAction action="#{deviceFEnd.actioncheck()}" />
</f:metadata>
管理bean第二页:
@Named(value = "deviceFEnd")
@RequestScoped
public class DeviceFEnd implements Serializable {
private int propId;
public DeviceFEnd() {
}
public int getPropId() {
return propId;
}
public void setPropId(int propId) {
this.propId = propId;
}
public void actioncheck() {
int x = 0;
x++;
}
@PostConstruct
public void init() {
}
}
就像我说的,如果我自己在操作中键入它,commandButton 可以工作,但如果我尝试使用来自 bean 的值会失败。 请帮忙...
【问题讨论】: