0

你好,我在 java 类中有两个 URL 映射,一个是调用超链接,另一个是按钮

在我打电话的超链接上

@URLAction(mappingId="abc")
//method..
private String hello(){
return null;
}

在我打电话的按钮上

@URLAction(mappingId="def")
//method..
private String hi(){
return null;
}

我第一次在超链接上调用 hello() 它工作正常,但是当我在按钮上调用 hi() 时它也工作正常但是 hello() 也被调用

如在 OCPSOFT 中,如果带注释的方法所属的类使用 @URLMappings 注释声明了多个 URL 映射,则该操作将用于每个映射。 http://ocpsoft.org/docs/prettyfaces/3.3.3/en-US/html/Configuration.html

我的问题是我想在每个 urlmapping id 上调用一个方法有什么想法吗?提前谢谢。

4

1 回答 1

1

如果您通过单击类似的东西提交 JSF 表单<h:commandButton>,JSF 将始终执行回发,这意味着请求将返回到原始页面。这就是第二次执行您的方法的原因。如果您不希望这样,您可以配置 PrettyFaces 以跳过回发的页面操作方法调用:

@URLAction(mappingId="abc", onPostback=false)
private String hello(){
    return null;
}
于 2013-03-26T13:55:18.363 回答