use*_*789 15 jsf actionlistener primefaces jsf-2
我在Primefaces 3.2和JSF 2.1上遇到了一些麻烦.
我的代码是这样的:
<p:toolbar id="jeditortoolbar" styleClass="jeditortoolbar">
<p:toolbarGroup align="left" height="25" style="height:25px">
<p:commandButton type="button" title="#{msg.beenden}"/>
<p:commandButton type="button" title="#{msg.neu}"/>
</p:toolbarGroup>
</p:toolbar>
Run Code Online (Sandbox Code Playgroud)
当我看看Primefaces Showcase时,我的p:commandButton需要
actionListener="#{myBean.myActionMethod}"
Run Code Online (Sandbox Code Playgroud)
我的Bean需要一个类似的方法
public void myActionMethod(){}
Run Code Online (Sandbox Code Playgroud)
h:form我的p:toolbar标签周围有一个!
我的Bean是ViewScoped.
我的解决方法是在*.xhtml文件中
<p:commandButton type="button" title="#{msg.neu}" onclick="addNewEmptyFile()"/>
<p:remoteCommand name="addNewEmptyFile" update=":codeTabForm">
<f:setPropertyActionListener value="#{true}" target="#{myBean.myEvent}"/>
</p:remoteCommand>
Run Code Online (Sandbox Code Playgroud)
在MyBean.java中
private String myEvent;
public void setMyEvent(String value){ myActionMethod();}
Run Code Online (Sandbox Code Playgroud)
这对我有用,但我认为这是非常脏的代码.
大家能帮帮我吗?
Ker*_*ğan 12
试试这个
Bean.java
@ManagedBean
@ViewScoped
public class Bean {
public String testButtonAction() {
System.out.println("testButtonAction invoked");
return "anotherPage.xhtml";
}
public void testButtonActionListener(ActionEvent event) {
System.out.println("testButtonActionListener invoked");
}
}
Run Code Online (Sandbox Code Playgroud)
page.xhtml
<p:toolbar>
<p:toolbarGroup>
<p:commandButton action="#{bean.testButtonAction}"/>
<p:commandButton actionListener="#{bean.testButtonActionListener}"/>
</p:toolbarGroup>
</p:toolbar>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49653 次 |
| 最近记录: |