首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >href /h:链接结果/h:在页面加载期间自动调用的按钮结果方法,不需要任何单击

href /h:链接结果/h:在页面加载期间自动调用的按钮结果方法,不需要任何单击
EN

Stack Overflow用户
提问于 2016-02-21 18:05:18
回答 1查看 3.4K关注 0票数 2

我有3页,有3个链接,我尝试用h:link或简单的<a>标记实现。但在这两种情况下,每当我导航到页面时,都会调用连接到这些链接的方法。

下面是<a>标记实现:

代码语言:javascript
复制
<a href="#{bean.gotoMySrchie()}">           
    <h:graphicImage library="images" name='vo2/FavPlus.png' />
</a>

<a href="#{bean.gotoMySearches()}">         
    <h:graphicImage library="images" name='vo2/SearchesPlus.png' />
</a>

<a href="#{bean.gotoMyBids()}">         
    <h:graphicImage library="images" name='vo2/BidsPlus.png' />
</a> 

h:link实现如下所示:

代码语言:javascript
复制
<h:link title="Searches" id="searchesLogo" value="" outcome="#{bean.gotoMySearches()}">
    <h:graphicImage library="images" name='vo2/SearchesPlus.png' />
</h:link>

问题是,每个操作方法都在调用我的数据库,这完全是对调用的浪费。那么,在JSF2中是否有一种在页面之间导航的方法,同时使用操作方法来实际执行某件事情,但是当我不需要调用这些方法时,却没有调用这些方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-21 18:38:14

代码语言:javascript
复制
<a href="#{bean.gotoMySrchie()}">           
代码语言:javascript
复制
<h:link ... outcome="#{bean.gotoMySearches()}">

它们被调用为值表达式,因为在JSF呈现响应阶段生成HTML输出时,需要将它们的返回值打印在其中。它们的返回值在结果的href输出中用作。右键单击webbrowser中的页面,执行View并查看href属性值。如果这些方法返回String,您将看到该字符串正在那里打印。

与您预期的相反,在JSF调用应用程序阶段,它们不是作为回发结果调用的方法表达式。这只是一个根本的误解。若要在回发期间调用操作,则需要使用<h:commandXxx action>

代码语言:javascript
复制
<h:form>
    <h:commandLink ... action="#{bean.gotoMySearches()}" />
</h:form>

但是,这会触发POST请求,而不是GET请求,因此可能会产生许多其他后果。

默认情况下,单击普通链接发送一个GET请求,而不是POST请求。如果您想继续使用GET,which is a good thing in this specific case,那么您应该在与目标页面关联的后台bean的@PostConstruct方法中执行数据库工作,而不是像在加载包含这些链接的页面时那样。

代码语言:javascript
复制
<h:link ... outcome="/searches">
    <h:graphicImage ... />
</h:link>
代码语言:javascript
复制
@Named
@RequestScoped // Or @ViewScoped
public class SearchesBean {

    @PostConstruct
    public void init() {
        // Here.
    }

    // ...
}

另请参阅:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35539848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档