在不使用passthrough atts的情况下获取bean中HTML输入的内容

时间:2015-06-08 17:03:13

标签: jsf jsf-2.2

我正在使用一个javascript来转换编辑器中的textArea(primefaces编辑器不够便宜)。

所以我有这段代码:

<textarea name="editor1" id="editor1"  rows="10" cols="80" >
</textarea>  

    <script>
    CKEDITOR.replace( 'editor1');
    </script>

我想获取托管bean中文本区域的内容。 我没有设法使用inputTextarea的jsf标签。

编辑:我猜它不起作用,因为使用

时id不一样
<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的内容?

1 个答案:

答案 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