- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想构建一个小型 UI,它将使用户能够以更简单的方式编写一些数学公式(因此是 UI),并能够将它们保存到 .txt (或类似的)文件中。
例如:我有 3 个提供各种选项的选择框、一些代表数学运算的按钮和一个 inputTextArea。到目前为止,我已经成功链接了每个 selectOneMenu 和一些 inputText 中选定的内容,并将它们与我需要的内容连接起来,并将创建的数学公式写入 .txt 文件。
现在我想为用户提供查看他正在编写的公式的可能性(通过选择内容并按下按钮)。到目前为止,我一直在尝试使用 inputTextArea 来做到这一点,但我所能做到的最好的是将所选内容从仅一个 selectOneMenu 传输到 textArea,然后我尝试添加用户的每个操作使文本区域失败(有人建议使用 <h:panelGroup>
但我无处可去,我尝试将用于填充菜单的所有 bean 合并到一个 bean 中,并以某种方式从那里开始,但这也不起作用)。
到目前为止我一直在研究的 JSF 部分的示例,其中包含 2 个选择框和 TextArea:
<h:outputText value="Formula Name"></h:outputText>
<h:inputText value="#{output.formulaName}" id="formulaName"></h:inputText>
<br /><br />
The formula so far:
<h:inputTextarea value="#{output.propertyReferenceValue}"></h:inputTextarea>
<br/><br/><br/>
Property1:
<h:selectOneMenu value ="#{output.propertyReferenceValue}" id="selectTwo"
valueChangeListener="#{output.propertyReferenceValueChanged}" onchange="submit()">
<f:selectItems value="#{property.propertyReference}"/>
</h:selectOneMenu>
<br/><br/>
Property2:
<h:selectOneMenu value ="#{output.property2ReferenceValue}" id="selectThree"
valueChangeListener="#{output.property2ReferenceChangedValue}" onchange="submit()">
<f:selectItems value="#{property2.property2Refference}" />
</h:selectOneMenu>
如有任何帮助,我们将不胜感激。
PS。我对 JSF 非常陌生(大约 2 天前开始),所以我什至会很感激有人指出一些可能涵盖此问题或类似问题的文档。最佳答案
你基本上是在滥用 valueChangeListener
这里。您对值更改并不完全感兴趣(即您对新旧值都不感兴趣),您只对提交的值感兴趣。当您没有/不能/不会使用基于 ajax 的组件库时,JSF 1.x 中可以容忍这种情况。有(相当复杂)的方法可以解决您的特定问题 valueChangeListener
,但是在带有内置 ajax 功能的 JSF 2.x 中,这确实不能再这样做了。您应该使用 <f:ajax>
标签引入异步提交和部分更新。
按如下方式重写您的 View :
Formula name:
<h:inputText value="#{output.formulaName}" id="formulaName" />
<br/><br/>
The formula so far:
<h:inputTextarea id="formula" value="#{output.propertyReferenceValue}#{output.property2ReferenceValue}"></h:inputTextarea>
<br/><br/>
Property1:
<h:selectOneMenu value="#{output.propertyReferenceValue}" id="selectTwo">
<f:selectItems value="#{property.propertyReference}"/>
<f:ajax render="formula" />
</h:selectOneMenu>
<br/><br/>
Property2:
<h:selectOneMenu value ="#{output.property2ReferenceValue}" id="selectThree">
<f:selectItems value="#{property2.property2Refference}" />
<f:ajax render="formula" />
</h:selectOneMenu>
仅此而已。您的#{output}
bean 应该放在 View 范围内 @ViewScoped
。不需要额外的监听器方法。仅当您想在显示值之前对其进行操作时,才需要一个 ajax 监听器。例如
Formula name:
<h:inputText value="#{output.formulaName}" id="formulaName" />
<br/><br/>
The formula so far:
<h:inputTextarea id="formula" value="#{output.formula}"></h:inputTextarea>
<br/><br/>
Property1:
<h:selectOneMenu value="#{output.propertyReferenceValue}" id="selectTwo">
<f:selectItems value="#{property.propertyReference}"/>
<f:ajax listener="#{output.calculateFormula}" render="formula" />
</h:selectOneMenu>
<br/><br/>
Property2:
<h:selectOneMenu value ="#{output.property2ReferenceValue}" id="selectThree">
<f:selectItems value="#{property2.property2Refference}" />
<f:ajax listener="#{output.calculateFormula}" render="formula" />
</h:selectOneMenu>
例如(这个启动示例在逗号上进行了简单的连接,但是您可以完全自由地按照您想要的方式构建 formula
值):
public void calculateFormula() {
formula = propertyReferenceValue + ", " + property2ReferenceValue;
}
关于java - 使用来自多个 selectOneMenus 和按钮的内容填充 inputTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7755021/
我有一个使用 PrimeFaces 的 AJAX 轮询刷新的 inputTextarea。 当inputTextarea刷新时,会显示很多新的文字。但是刷新后总是跳到第一行。如果用户想要向下滚动并且轮
这看起来应该很容易,但它对我来说并不是很有效。我正在尝试将回车添加到 inputTextarea 的默认值中\r 并且\n 似乎不起作用,有人知道解决方案吗? 最佳答案 使用@NewLine()作为分
我正在使用 JSF2.0 并且我有一个 inputTextArea 组件,并希望阻止最终用户调整它的大小。我该怎么做。我试过 resize="false"但它不接受。 最佳答案 这将使用 CSS re
我已在 xp:inputTextarea 上应用了自动调整大小 ( http://www.jacklmoore.com/autosize/ ),但我注意到这仅在编辑模式下有效,我必须更新内容。 有没有
我想构建一个小型 UI,它将使用户能够以更简单的方式编写一些数学公式(因此是 UI),并能够将它们保存到 .txt (或类似的)文件中。 例如:我有 3 个提供各种选项的选择框、一些代表数学运算的按钮
输入文本区域值永远不会在 bean 端设置。 JSF 1.2 与 RichaFaces 3.3.3。有下一个代码:
我有一个关于素面的问题。我有一个文本框,我需要该文本框中的字符限制以及给出当前字符状态的输出文本。 目前,我的计数器看起来像这样: 而不是字符数 下 , 我更喜欢计数 向上 .更像是“使用了 32/5
我试试看: 但是当写入很多时,这个字段的高度会增加。如何仅使用 overflow:auto 解决此问题? 最佳答案 尽量设置autoResize="false",否则在文档中搜索类似的属性。 更
我有一个文本区域。在 Chrome 和 Mozilla 中我没有任何问题。这种行为正是我想要的方式。问题出在IE上。我希望“框”可以调整大小,如果用户输入 500 个字符能够增加框的高度/宽度。你有什
我正在尝试在输入文本区域中显示可点击的超链接那可能吗?如果没有,没有 inputtextarea 但与 textarea 效果相同,我该如何做到这一点? 最佳答案 这对于 HTML 来说是不可能的 元
我正在尝试制作 看起来好多了,现在当页面加载时我可以看到: 当我点击那个 TextArea : 代码如下: 如何使该区域根据文本调整其大小? rows="6"正在处理少量数据,但写入更多字符时看起来
这是我的 所以 postMessage() 持久化数据,然后像这样将评论的值设置为空 comment.setComment(""); 干得好。当我按下按钮时,消息被发布,文本被清除。但奇怪的是,当
我想将java脚本对象结构作为文本输入输入到inputTextarea中,并且我想要一个var将其读取为对象。我的对象结构如下所示。我可以直接在我的 xhtml 页面中将其作为 var obj={ o
如何在h:inputTextarea中显示HTML标签的值?在数据库中,我有包含数据的列,它包含纯文本和 HTML 标记,我想将其显示在 h:inputTextarea 上。我该怎么做? 最佳答案 i
我正在使用 JSF 2.0 和 Primefaces 3.2。我有一个最大长度设置为 4000 的文本区域。但是文本区域允许我输入 4001 个字符。 (总是一个额外的字符)。我一直将 maxleng
如何在h:inputTextarea中显示HTML标签的值?在数据库中,我有包含数据的列,它包含纯文本和 HTML 标记,我想将其显示在 h:inputTextarea 上。我该怎么做? 最佳答案 i
我在 modalPanel 中有这个 inputTextarea,更新支持 bean 中相应值 (motivePopupMotive) 的唯一方法是在 inputTextarea 中添加 a4j:su
我的 XPage 上有一个 inputTextArea 控件,需要添加一个 Java 转换器以在流程验证阶段运行代码。我最初使用的是 Validator,但是如果值为空,Validator 不会运行,
我有这个表格: 这里,textArea 类似于 template,它向我们展示了值如何在另一
我正在尝试使用 primefaces 组件下载 xml 文件。这部分工作正常,但我的页面上有一个 inputtextarea,我希望将我在 inputtextarea 中编写的文本写入下载的 xml
我是一名优秀的程序员,十分优秀!