0

我有一个有效的 JSF 应用程序,它允许用户输入他们的姓名,按下提交按钮,然后他们会看到一个欢迎他们的页面。

结构很简单,有一个Person bean,有一个名称的setter 和getter,textfield 设置名称,欢迎页面从bean 中获取名称呈现在欢迎页面上。

我的问题是当用户按下提交按钮时我可以从 XHTML 调用 java 方法吗,因为我需要打开到数据库的连接。应用程序第一页的代码在 xhtml 文件中如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">

<h:head>
 <title>JSF 2.0 Hello World</title>
</h:head>
<h:body>
 <h3>JSF 2.0 Hello World Example - hello.xhtml</h3>
 <h:form>
  <h:inputText value="#{helloBean.name}"></h:inputText>
  <h:commandButton value="Welcome Me" action="welcome"></h:commandButton>
 </h:form>
</h:body>
</html>

所以看起来当他们点击 Welcome Me 时,welcome.xhtml 文件被调用并将 bean 传递给它。但是当按下 Welcome Me 按钮时,我还需要执行一些代码来打开数据库,我该怎么做呢?

4

1 回答 1

0

为此,action命令按钮的属性应该绑定到 bean 的操作方法。

<h:commandButton value="Welcome Me" action="#{helloBean.submit}" />

在该方法中,您可以自由地写下按下按钮时应执行的 Java 代码。

public String submit() {
    // ...

    return "welcome";
}

返回的字符串将用作导航结果。如果您返回nullor void,它将返回到相同的视图。

也可以看看:

于 2012-12-09T17:51:37.780 回答