使用 JSF 命令解析参数链接到托管 bean
Parsing argument with JSF commandlink to managed bean
我试图用 JSF 将参数解析为 ajax 的托管 bean。我的 JSF 代码是这样
<h:commandLink id="user" action="#{pageBean.setPage("user")}" >
user
<f:ajax execute="user" render="contentBody" />
</h:commandLink>
托管bean是这个
@ManagedBean
public class PageBean {
private String path;
private String page;
public PageBean() {
}
@PostConstruct
public void init(){
path = "/WEB-INF/dashboard.xhtml";
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
}
但是当我 运行 这样做时,我得到了以下错误。这是为什么?
Error Parsing /WEB-INF/templete.xhtml: Error Traced[line: 37] Element type "h:commandLink" must be followed by either attribute specifications, ">" or "/>".
您在 user
左右的属性中使用了双引号。
<h:commandLink id="user" action="#{pageBean.setPage("user")}" >
这导致 templete.xml
不是有效的 XML-文件。
使用单引号更正示例行(由@gWombat 提议):
<h:commandLink id="user" action="#{pageBean.setPage('user')}" >
您应该在参数 user 周围使用单引号:
action="#{pageBean.setPage('user')}"
我试图用 JSF 将参数解析为 ajax 的托管 bean。我的 JSF 代码是这样
<h:commandLink id="user" action="#{pageBean.setPage("user")}" >
user
<f:ajax execute="user" render="contentBody" />
</h:commandLink>
托管bean是这个
@ManagedBean
public class PageBean {
private String path;
private String page;
public PageBean() {
}
@PostConstruct
public void init(){
path = "/WEB-INF/dashboard.xhtml";
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
}
但是当我 运行 这样做时,我得到了以下错误。这是为什么?
Error Parsing /WEB-INF/templete.xhtml: Error Traced[line: 37] Element type "h:commandLink" must be followed by either attribute specifications, ">" or "/>".
您在 user
左右的属性中使用了双引号。
<h:commandLink id="user" action="#{pageBean.setPage("user")}" >
这导致 templete.xml
不是有效的 XML-文件。
使用单引号更正示例行(由@gWombat 提议):
<h:commandLink id="user" action="#{pageBean.setPage('user')}" >
您应该在参数 user 周围使用单引号:
action="#{pageBean.setPage('user')}"