2015-10-15 66 views
0

我有一个复选框,它有一个很长的描述。如果用户选中该复选框,我想在电子邮件中传递该描述。如何从JSF页面将模板文本传递给bean

我不想在后端bean和JSF页面中写入相同的描述。相反,我想将前端描述传递给bean。

我怎样才能做到这一点在JSF

<h:selectBooleanCheckbox value="#{contactUsBean.subscribeNewsLetter}" /> 
I would like to receive the news letters from the company abc......... 

这漫长漫长的描述需要传递给豆。

+0

你为什么不把它保存在bean中? – Ced

回答

0

围绕你想要用一个ID抓住一个跨度。在表单提交中,用javascript获取内容并将其放在隐藏的输入字段中并将其放入bean中。或者,您知道,只需将它写入bean或一个包中并将其抓到那里。

要从包文件抓住它:

创建一个名为任何你想称之为“串”或包装。创建一个名为“strings.properties”的文件。

在写你的内容:

Content=bla bla bla. 

然后从文件中这样抓住它:

private final static String BUNDLE_BASENAME = "resources.strings.strings"; 
private ResourceBundle bundle = ResourceBundle.getBundle(BUNDLE_BASENAME, 
     FacesContext.getCurrentInstance().getViewRoot().getLocale()); 
String content = bundle.getString("Content"); 

来写你的JSF页面上:

<f:loadBundle basename="resources.strings.strings" var="pmsg" /> 

    #{pmsg.Content} 

对于其他方法,JavaScript是有据可查的,但很好:

myContentElem = document.getElementById("id"); 
myContent = myContentElem.innerHTML; 
getElementById("hiddenInput").value = myContent; 

Srsly把它放在你的豆或束中,这是迟缓的。如果您不想两次写入,只需使用EL表达式,这样就不会将它写入jsf页面。

相关问题