我有一个支持 bean ( somebean
),它具有三个布尔属性a
、b
和c
,每个都有一个 getter 和 setter。
我有一个看起来像这样的表格:
<h:outputText rendered="#{somebean.b}">
B is true
</h:outputText>
<h:form id="blah">
<h:inputHidden value="#{somebean.a}" id="a"/>
<h:commandLink id="zzzz" value="do it" action="#{somebean.doIt}"/>
</h:form>
客户端可以设置、 和三个属性中的哪一个a
?我尝试在 POST 请求中添加和,但从未被调用。所以也许只能设置 - 逻辑是如果 JSF 中有一个设置它的字段,则允许客户端设置它。但也许我错了,它只是有一些我不知道的默认名称可以用来设置它......b
c
b=true
c=true
SomeBean.setB(boolean)
SomeBean.setC(boolean)
a
我是否应该假设我的 bean 上的任何属性都可以由客户端设置?如果不是,我应该假设客户端可以设置哪些(因此在验证期间必须担心)?
另外,如果我有条件地呈现我的表单会发生什么?例如:
<h:outputText rendered="#{somebean.b}">
<h:form id="blah">
<h:inputHidden value="#{somebean.a}" id="a"/>
<h:commandLink id="zzzz" value="do it" action="#{somebean.doIt}"/>
</h:form>
</h:outputText>
在这种情况下,如果为假,a
仍然可以设置吗?b
“客户端”是指任何向我的站点发送 HTTP 流量的东西。例如,可能是恶意代码。