Javaのお勉強



JSF ボタンにイベントを追加@Java

JSFでボタンにイベント処理を追加します。

commandButtonのactionListenerにBeanのメソッドを指定します。
Beanの方では、ボタンを押した時のイベントメソッドを作成します。
メソッドは、ActionEvent evtを引数としたメソッドを作成します。

以下では、ボタンを押された時に、
ボタンのIDを取得し表示しています。

jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<% request.setCharacterEncoding("UTF-8");%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSF ボタンにイベント追加</title>
</head>
<body>

    <f:view>
        <h:form id="searchForm">
            <h:outputText id="message" value="#{MyBean.msg}" />
            <br>

            <h:commandButton id="btn1" value="ボタンその1" actionListener="#{MyBean.btnMouseClicked}" />
            <h:commandButton id="btn2" value="ボタンその2" actionListener="#{MyBean.btnMouseClicked}" />
        </h:form>
    </f:view>
</body>
</html>


Beans

package Beans;

import javax.faces.event.ActionEvent;

public class MyBean {

    private String msg;

    public MyBean() {
        msg = "ボタンを押してください";
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public void btnMouseClicked(ActionEvent evt) {
        String btnId = evt.getComponent().getId();

        msg = btnId + "が押されました";
    }
}




Copyright (C) 2008-2026 Javaのお勉強. All Rights Reserved.