繁体   English   中英

jsf 2 outputlink渲染方法调用,无需单击

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM