[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">&nbsp;</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 &copy; 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 メーリングリストの案内