使用<h:button> <h:link>和Manage Beans </h:link> </h:button>

时间:2013-09-06 16:45:12

标签: jsf jsf-2 javabeans

当我使用

<h:button>

<h:link>

我无法在托管bean中进行任何业务操作? 我必须使用

<h:form>

<h:commandButton>

<h:commandLink>

有行动参数还是有另一种解决方案?

2 个答案:

答案 0 :(得分:2)

取决于你想要解雇的那种请求。

如果需要是非幂等POST请求,只需将<h:form><h:commandXxx action>一起使用即可。同样,根据具体的功能要求,您可以在同一视图中有条件地呈现结果,或者之后将重定向发送到目标视图。

如果它需要是幂等GET请求,请使用<h:link> / <h:button>并在与目标页面关联的请求/视图作用域支持bean中的@PostConstruct方法中执行操作。如果您需要传递参数,请使用<f:param><h:link> / <h:button>上设置它们,并在目标视图中使用<f:viewParam><f:event type="preRenderView">来设置和处理它们支持与目标视图关联的bean。

总而言之,只需使用正确的工具来完成具体功能要求所规定的工作(遗憾的是,您在问题中没有说明任何内容)。

另见:

答案 1 :(得分:0)

不,你不能用h:linkh:button做到这一点,有意为可收藏的GET网址。因此,如果您要执行业务操作,则需要使用commandButtoncommandLink。请注意,使用h:outputLink生成页面之间的可书签链接也是值得的,因为它更适合搜索引擎优化。