[Seasar-user:9477] [Teeda] 1.0.8でdoOnceが呼ばれない
Junichi Kato
[E-MAIL ADDRESS DELETED]
2007年 7月 26日 (木) 16:48:18 JST
加藤です.
Java5
S2.4.14
Teeda 1.0.8
の環境にて,
以下のようなフォームとPageクラスで,doOnceLoginを実現しようとしているの
ですが,いっこうに呼ばれません.doLoginは問題なく使えます.
何か問題になりそうな箇所はありますでしょうか?
ちなみに,teeda-html-exampleのadd.htmlのdoOnceメソッドは問題なく実行でき
ていました.htmlタグの囲み方の問題などあるのでしょうか?
アドバイスいただけば幸いです.
ソース全体はここにあります.
https://office.grandtech.jp/svn/learning/bookrental/
実行するには,一度,mvn compileして依存jarをダウンロードする必要あります.
<?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:te="http://www.seasar.org/teeda/extension" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Pragma" content="no-cache"/>
<link rel="stylesheet" type="text/css" href="../../css/common.css"/>
<title id="pageTitle">管理者ログイン</title>
</head>
<body>
<div id="wrapper">
<!-- header Start -->
<div id="header">
<p class="Logo"><img src="../../images/Logo.gif" width="250" height="50" alt=""/></p>
<h1>管理者ログイン</h1>
</div>
<!-- header End -->
<div id="container">
<div id="primary">
<div id="content">
<form id="loginForm" class="LoginForm">
<table cellpadding="0" cellspacing="0" class="LoginTable">
<tbody>
<tr>
<td class="error" colspan="2"><span id="allMessages"></span></td>
</tr>
<tr>
<th class="th1"><label id="accountNameLabel">管理者ID</label>(*):</th>
<td class="td1"><input type="text" id="accountName" class="ime-disabled"/></td>
</tr>
<tr>
<th class="th2"><label id="passwordLabel">パスワード</label>(*):</th>
<td class="td2"><input type="password" id="password" class="ime-disabled"/></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td colspan="2">
<input type="submit" id="doOnceLogin" value="Login" te:renderJs="true"/>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<div id="secondary">
<br/>
</div>
</div>
<!-- footer Start -->
<div id="footer">
<p class="CopyRight">Copyright © 2007 GrandTech Co,.Ltd All Rights Reserved.</p>
</div>
<!-- footer End -->
</div>
</body>
</html>
package bookrental.web.admin;
import javax.faces.application.FacesMessage;
import javax.faces.internal.FacesMessageUtil;
import org.seasar.teeda.extension.annotation.validator.Required;
import bookrental.dao.AccountMasterDao;
import bookrental.dto.AccountDto;
import bookrental.entity.AccountMaster;
public class AdminLoginPage extends AbstractAdminPage {
private String accountName;
private String password;
private AccountMasterDao accountMasterDao;
private AccountDto accountDto;
public String getAccountName() {
return accountName;
}
@Required
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getPageTitle() {
return "ログイン";
}
public String getPassword() {
return password;
}
@Required
public void setPassword(String password) {
this.password = password;
}
public Class doOnceLogin() {
AccountMaster accountMaster = accountMasterDao
.selectByAccountName(accountName);
if (accountMaster == null) {
FacesMessage fm = FacesMessageUtil.getMessage(this
.getFacesContext(), "auth.notFoundAccount", null);
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
this.getFacesContext().addMessage(null, fm);
return null;
}
if (!"A".equals(accountMaster.getAccountType())) {
FacesMessage fm = FacesMessageUtil.getMessage(this
.getFacesContext(), "auth.invalidAccountType", null);
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
this.getFacesContext().addMessage(null, fm);
return null;
}
if (!password.equals(accountMaster.getPassword())) {
FacesMessage fm = FacesMessageUtil.getMessage(this
.getFacesContext(), "auth.invalidPassword", null);
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
this.getFacesContext().addMessage(null, fm);
return null;
}
accountDto.setAuthed(true);
accountDto.setAccountId(accountMaster.getAccountId());
accountDto.setAccountName(accountMaster.getAccountName());
accountDto.setAccountType(accountMaster.getAccountType());
return AccountMasterListPage.class;
}
public Class initialize() {
return null;
}
public Class prerender() {
return null;
}
public void setAccountMasterDao(AccountMasterDao accountMasterDao) {
this.accountMasterDao = accountMasterDao;
}
public AccountDto getAccountDto() {
return accountDto;
}
public void setAccountDto(AccountDto accountDto) {
this.accountDto = accountDto;
}
}
───────────────────────────────
株式会社 グランテック
代表取締役社長
加藤 潤一 Junichi Kato
〒154-0012
東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
TEL 050-5538-2383 FAX 03-3487-7211
HP : http://www.grandtech.jp/
BLOG : http://d.hatena.ne.jp/j5ik2o/
E-MAIL : [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内