我正在使用一个javascript来转换编辑器中的textArea(primefaces编辑器不够便宜)。
所以我有这段代码:
<textarea name="editor1" id="editor1" rows="10" cols="80" >
</textarea>
<script>
CKEDITOR.replace( 'editor1');
</script>
我想获取托管bean中文本区域的内容。 我没有设法使用inputTextarea的jsf标签。
<h:inputTextarea id="editor1"/>
这将导致id为:
j_tid53:editor1
我也试过这个:
xmlns:jsf="http://xmlns.jcp.org/jsf"
...
jsf:value="#{bean.property}"
但它将是null
我的xhtml命名空间:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
面-配置:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
</faces-config>
当服务器在控制台中启动时:
Initializing Mojarra 2.2.9 (-SNAPSHOT 20141218-0939 https://svn.java.net/svn/mojarra~svn/tags/2.2.9@14083) for context
那么如何获取textArea的内容?
答案 0 :(得分:0)
脚本无效,因为ID错误。我只需要给表单一个id:
<h:form id="form">
<p:inputTextarea value="#{newThread.title}" cols="98" rows="1">
<f:passThroughAttribute name="placeholder" value="#{miscellaneous.Title}"/>
</p:inputTextarea>
<p:inputTextarea id="sup"></p:inputTextarea>
<script>
CKEDITOR.replace( 'form:sup');
</script>
<p:commandButton value="#{miscellaneous.Submit}" action="#{newThread.sendNewThread}">
</p:commandButton>
</h:form>
问题是我不知道如何获得价值。所以我切换到了primeface extension。
这些是所需的依赖项:
<dependency>
<groupId>org.primefaces.extensions</groupId>
<artifactId>primefaces-extensions</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.primefaces.extensions</groupId>
<artifactId>resources-ckeditor</artifactId>
<version>3.1.0</version>
</dependency>
然后是xhtml文件中的命名空间:
xmlns:pe="http://primefaces.org/ui/extensions"
和here is a link that explains step by step.
If you are not using primefaces you can make it work by following the comment of w vd L