@URLMappings注释,该动作将用于每个映射

时间:2013-03-25 18:05:33

标签: prettyfaces

你好我在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上调用一个方法任何想法? 提前罢了。

1 个答案:

答案 0 :(得分:1)

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

@URLAction(mappingId="abc", onPostback=false)
private String hello(){
    return null;
}