2013-03-25 2 views
0

Привет У меня есть два URL отображения в классе Java один звонит по гиперссылке и другой на кнопку@URLMappings аннотаций, действие будет использоваться для каждого из отображений

на гиперссылке я называю

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

на кнопку Я называю

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

первый раз, когда я называю привет() на гиперссылке она отлично работает , но когда я звоню привет() на кнопке она работает прекрасно o, но hello() также называется

как в OCPSOFT Если класс, аннотированный метод, объявляет несколько URL-адресов, используя аннотацию @URLMappings, действие будет использоваться для каждого из отображений. http://ocpsoft.org/docs/prettyfaces/3.3.3/en-US/html/Configuration.html

мой вопрос в том, что я хочу называть один метод на каждом идентификаторе urlmapping любой идеи ?? thnks заранее.

ответ

1

Если вы отправляете форму JSF, щелкнув что-то вроде <h:commandButton>, JSF всегда будет выполнять обратную передачу, что означает, что запрос вернется к исходной странице. Вот почему ваш метод выполняется во второй раз. Если вы этого не хотите, вы можете настроить PrettyFaces, чтобы пропустить вызов метода действия страницы для обратной передачи:

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