我有一个h:commandLink
调用方法,该方法更改绑定到单选输入的属性。
我也有相同验证的表单上的文本输入(required = true)。
如果我离开了文本输入栏,并点击h:commandLink
同execute="@this
,从模型属性如预期,因为文字输入从未处理和验证从来没有火灾的单选按钮更新。
但是,如果在一个不同的我首先点击h:commandLink
与execute="@form"
, 然后
与链接execute="@this"
,确认消息消失,但单选按钮值也 不会 离即使UIInput单选按钮从未处于无效状态的模型更新。
我发现这很烦人execute="@this"
,因为我的意图@this
是迫使所有内容从模型中更新而忽略组件中的所有提交值,因此行为取决于我之前所做的事情,这很令人讨厌。
我怀疑正在发生的事情是这样的:
@form
,单选按钮和文本都将被处理。localValue
已设置localValue
保持设置状态,不会被清除或传播到value
resetValue()
或重新处理有问题的组件(例如execute="@this radio"
),以清除localValue
并允许从bean中刷新。我的问题是:
感觉这可能只是这个问题的另一个例子
发生验证错误后,如何使用PrimeFaces
AJAX填充文本字段?
不幸的是,我觉得最近发现了很多。:-(
下面的代码示例:
<h:form>
<h:messages/>
Radio =
<h:selectOneRadio value="#{testBean.radioValue}" id="radio" binding="#{radio}">
<f:selectItem itemValue="foo" itemLabel="Foo"/>
<f:selectItem itemValue="bar" itemLabel="Bar"/>
</h:selectOneRadio>
<br></br>
radio bean value = <h:outputText value="#{testBean.radioValue}"/>
<br></br>
radio UIInput localValue = <h:outputText value="#{radio.localValue}"/>
<br></br>
radio UIInput value = <h:outputText value="#{radio.value}"/>
<br></br>
String w/validation = <h:inputText value="#{testBean.stringValue}" required="true" />
<br></br>
<ul>
<li>
<h:commandLink actionListener="#{testBean.changeRadioValue}" value="execute = @form">
<f:ajax render="@form" execute="@form"/>
</h:commandLink>
</li>
<li>
<h:commandLink actionListener="#{testBean.changeRadioValue}" value="execute = @this">
<f:ajax render="@form" execute="@this"/>
</h:commandLink>
</li>
<li>
<h:commandLink actionListener="#{testBean.changeRadioValue}" value="execute = @this radio">
<f:ajax render="@form" execute="@this radio"/>
</h:commandLink>
</li>
</ul>
</h:form>
而这个豆:
@ManagedBean
@ViewScoped
public class TestBean {
private String radioValue = "foo";
private String stringValue;
public void changeRadioValue() {
radioValue = "bar";
}
// + getters/setters
}
我对生命周期的理解正确吗?
是。
我是在做错什么,还是关于JSF的烦人的设计之一?
这是JSF的“烦人的设计问题”之一。如我在有关该问题的答复中所述:
回到具体问题,我想这是对JSF2规范的疏忽。当JSF规范强制执行以下命令时,对我们JSF开发人员而言将更加有意义:
- 当JSF需要通过ajax请求更新/重新呈现输入组件,并且该输入组件不包含在ajax请求的处理/执行中时,则JSF应该重置输入组件的值。
我只记得我是否曾经根据JSF规范进行过报告。编辑:我报告了它:JSF规范发行1060。
为什么SWAGGER可以正确请求,但是使用APIPOST没办法正确请求。 我从SWAGGER和APIPOST分别获得验证码,后端的控制台也都打印出了随机生成的字符。 但是当我再分别来连接登录的接口的时候,本从SWAGGER中获取的验证码在SWAGGER的登录验证中是验证码正确的,但是使用从APIPOST中获取的验证码显示是验证码错误。而且从APIPOST中进行登录的使用SWAGGER和APIPOS
我在一个EJB中有一些商业方法,它接受一个DTO作为参数,即: 我想定义一个自定义验证器来验证参数(请注意,我想将其验证为参数,而不是在类级别,尽管如果有人有涉及的解决方法,那是受欢迎的)。验证需要来自当前记录的主体的数据,例如,通过将其注入@Context注释SecurityContext。 因此,我的第一种方法是为SomeClass实现一个新的约束验证器,其中包含参数目标。问题是,我认为在这个
问题内容: 从我读过的一般解决方案如下: 然后在ajax事件中。但是,这导致没有请求被发送。 我要实现的目标是中止所有声明为DataRequest的ajax操作(例如),并仅允许进行最新请求。目前,我有一个按钮,单击该按钮可以启动请求并添加加载微调器。如果多次单击它,只会使一堆加载微调器充满我的页面。我该如何预防? 以下是相关代码: 问题答案: 这是我需要多个请求并仅处理最后一个请求时使用的模式:
在构建Web应用程序时,验证是一个重要的过程。 它确保我们获得的数据适当且有效存储或处理。 CodeIgniter使这项任务变得非常简单。 让我们用一个简单的例子来理解这个过程。 例子 (Example) 创建一个视图文件myform.php并将以下代码保存在application/views/myform.php 。 此页面将显示用户可以提交其姓名的表单,我们将验证此页面以确保在提交时不应为空。
我使用Python和selenium(PhantomJS webdriver)来解析网站,但遇到了问题。 我想从这个电台网站获取当前歌曲:http://www.eskago.pl/radio/eska-warszawa. xpath: 该xpath不适用于python selenium 错误: Traceback(最近一次调用):File"parser4.py",第41行,p.loop()File
我正在尝试使用<code>Hibernate Validator</code>验证请求对象。 作为一个简单的例子,假设我要验证的对象的类有一个<code>B bObj</code>字段,其中<code>B 因此,我实现了自己的自定义,它链接到自定义类。 DTO类 我的endpoint方法签名(其中调用验证器,并设置活动组): 我的验证器类 我想要实现的是基于活动组对同一字段应用不同的验证。活动组是