パラメータ受け取り用のBean
【サービスクラス】
package jp.glory.darts.application; import javax.ejb.LocalBean; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.ws.rs.POST; import javax.ws.rs.Path; import com.sun.jersey.api.view.Viewable; @Path("/service/login") @RequestScoped @LocalBean public class LoginService { @Inject private LoginView view = null; @POST public void login() { System.out.println(view.getUserId()); System.out.println(view.getPassword); } }
[Beanのインジェクション]
対象のBeanにInjectアノテーションをつけるだけです。
【インジェクション対象Bean】
package jp.glory.darts.view; import javax.ws.rs.FormParam; import com.sun.jersey.api.view.Viewable; public class LoginView { @FormParam("userId") private String userId = null; @FormParam("password") private String password = null; }
【動かすためのJSP】
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ダーツ ログイン</title> </head> <body> <form action="${pageContext.request.contextPath}/service/login" method="POST"> <div> <span id="userIdLabel">ユーザID</span> <span id="userIdInput"> <input type="text" name="userId" value="${it.userId}" /> </span> </div> <div> <span id="passwordLabel">パスワード</span> <span id="passwordInput"> <input type="password" name="password" value="${it.password}" /> </span> </div> <div> <input type="submit" value="ログイン" /> </div> </form> </body> </html>