Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 如何在h:InputExtArea中提供硬编码多行内容_Jsf 2_Textarea - Fatal编程技术网

Jsf 2 如何在h:InputExtArea中提供硬编码多行内容

Jsf 2 如何在h:InputExtArea中提供硬编码多行内容,jsf-2,textarea,Jsf 2,Textarea,在HTML中,我可以执行以下操作: <textarea> line 1 line 2 line 3 </textarea> 然而,同样的事情在JSF中不起作用,因为我必须指定value属性而不是body。有没有一种方法可以指定多行值?理想情况下,我希望能够像在HTML中一样无缝地执行此操作,即不使用\n并实际将其放在多行上,以便于阅读。您可以尝试以下方法: <h:outputFormat escape="false" value="Line 1<br/>

在HTML中,我可以执行以下操作:

<textarea>
line 1
line 2
line 3
</textarea>
然而,同样的事情在JSF中不起作用,因为我必须指定value属性而不是body。有没有一种方法可以指定多行值?理想情况下,我希望能够像在HTML中一样无缝地执行此操作,即不使用\n并实际将其放在多行上,以便于阅读。

您可以尝试以下方法:

<h:outputFormat escape="false" value="Line 1<br/>Line 2" />
这将导致:

第1行

第2行

注意:escape=false表示可以嵌入html,如列表等

或者我们甚至可以这样尝试:

或者,您可以在InputExtArea上将readonly设置为true,并设置rows属性


我希望这将帮助您

好吧,我找不到一种方法将textarea内容直接包含到.xhtml中,同时将内容保留在几行中。可能有一种使用javascript的方法,即使用不同的标记,然后将其复制到或其他内容中,但我希望保持它相当干净


最后我使用了h:inputExtArea的value属性,并从managedBean中填充了它。我创建了我想要的内容的文本文件,它们是相当大的文件,并使用FileReader将它们加载到managedBean属性中。当您将它们指定给h:inputExtArea的值时,会考虑\n etc,因此如果您已将文本硬编码到textarea标记之间的.xhtml中,则会产生相同的效果。

谢谢您的建议。问题是,我希望文本是可编辑的,并且我希望它是InputExtArea的一部分,以便它可以与任何其他输入一起提交到Facesservlet。我不确定您的解决方案是否支持这一点?那么只需将readOnly属性设置为false Simple。。。!!!因此,从那时起,这将是可编辑的。我想知道评判我的确切原因,我对JSF一点也不熟悉。这一点都不公平,你不应该对别人的知识发表评论。记住@BalusC,即使你有古德的名声,也只取决于你,我一点也不在乎all@BalusC你是谁来评判我你不是什么老板,也不是你的学生或奴隶只是在你的范围内这也是你实际应该使用的方式。否则整个过程就毫无意义了,你可以直接使用它。JSF还支持发出普通HTML,你知道。啊,我明白你的意思了。我想我可以在表单中包含一个HTML文本区域。目前正在努力学习JSF,所以我想我可能是太努力了,想把一切都变成JSF:-谢谢你的帮助。