public class BackTheme {
private String chaine;
public BackTheme() {
}
public void sayHello(){
System.out.println("hello "+chaine);
}
public String getChaine() {
return chaine;
}
public void setChaine(String chaine) {
this.chaine = chaine;
}
}
HTML代码如下:
<div class="gt-form gt-content-box">
<h:inputText value="#{backTheme.chaine}" />
<h:form >
<a4j:htmlCommandLink actionListener="#{backTheme.sayHello}" value="Download"/>
</h:form>
答案 0 :(得分:2)
提交表单时,只会提交表单中包含的数据。但是,您的输入组件位于表单之外,因此不会在表单提交中使用其值。如果要将其值发送到服务器,输入组件应与命令按钮/链接的形式相同。
<h:form>
<h:inputText value="#{backTheme.chaine}" />
<a4j:htmlCommandLink actionListener="#{backTheme.sayHello}" value="Download"/>
</h:form>
无关,我不确定这一切的具体功能要求是什么,但我只是警告说,使用ajax下载单个文件是不可能的。你的命令链接就是标签“download”,它表示你正在尝试下载文件的真实代码。也许这只是粗心大意,但你永远不知道;只是在说'。如果情况确实如此,请将<a4j:htmlCommandLink>
替换为<h:commandLink>
,以便成功下载文件。另请参阅How to provide a file download from a JSF backing bean?
答案 1 :(得分:1)
你的inputText需要在表单中。