[英]jsf 2 outputlink rendering method call without clicking
我在jsf中相对较新。
我有一个jsf页面someDetails.xhtml,其中有一个输出链接
<h:outputLink value="#{someTaskController.completeTask(taskId)}?taskId=#{taskId}">Assign Ticket</h:outputLink>
单击此链接后,应调用completeTask方法并执行某些操作。
问题是,当打开jsf页面someDetails.xhtml(在浏览器中)时,会调用completeTask方法并执行所有任务,这仅应在单击链接时发生。
我该怎么办 ? 请帮忙
您出于目的使用了错误的标记,请改用命令链接:
<h:commandLink value="Assign Ticket" action="#{someTaskController.completeTask()}">
<f:param name="taskId" value="#{taskId}" />
</h:commandLink>
您可以像这样在completeTask()方法中访问taskId:
public void completeTask() {
Map<String,String> params =
FacesContext.getExternalContext().getRequestParameterMap();
String taskId= params.get("taskId");
// do your business action...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.