From [E-MAIL ADDRESS DELETED] Wed Aug 20 17:34:51 2008 From: [E-MAIL ADDRESS DELETED] (=?iso-2022-jp?B?GyRCMEJFRBsoQiAbJEJALDkwGyhC?=) Date: Wed, 20 Aug 2008 17:34:51 +0900 Subject: [s2struts-dev:72] =?iso-2022-jp?b?IFMyU3RydXRzK1ZlbG9jaXR5GyRCJE4bKEJWYWxpZGF0aW9u?= =?iso-2022-jp?b?GyRCPWhNfRsoQg==?= Message-ID: $B%a!<%j%s%0%j%9%H$N3'MM(B $B$3$s$K$A$O!"(BS2Struts$B$N(BValidation$B=hM}$K4X$9$ku$G$9$,!"(BVelocity$BB&$G(BMessageManager$B$[E-MAIL ADDRESS DELETED]$7$?(BActionError$B$N(Bkey$B!J!a$3$N(B $B>l9g$O(B$errors.login$B!K$r -------------------------------------------- --------------$B-"(Btoolbox.xml------------------ math application org.apache.velocity.tools.generic.MathTool date application org.apache.velocity.tools.generic.DateTool sort application org.apache.velocity.tools.generic.SortTool link request org.apache.velocity.tools.struts.StrutsLinkTool slink request org.apache.velocity.tools.struts.SecureLinkTool text request org.apache.velocity.tools.struts.MessageTool errors request org.apache.velocity.tools.struts.ErrorsTool messages request org.apache.velocity.tools.struts.ActionMessagesTool form request org.apache.velocity.tools.struts.FormTool tiles request org.apache.velocity.tools.struts.TilesTool validator request org.apache.velocity.tools.struts.ValidatorTool cookie request org.apache.velocity.tools.view.tools.CookieTool ----------------------------------------- -------------$B-#(BLoginActionImpl--------------- $B!A>JN,!A!J$3$3$O3N -------------------------------------------------- ----------------$B-'(Bvalidation.xml---------------------- -------------------------------------------------- ----------------$B-((Bvelocity.properties------------------ runtime.log.error.stacktrace = false runtime.log.warn.stacktrace = false runtime.log.info.stacktrace = false runtime.log.invalid.reference = true input.encoding=UTF-8 output.encoding=UTF-8 directive.foreach.counter.name = velocityCount directive.foreach.counter.initial.value = 1 directive.include.output.errormsg.start = directive.parse.max.depth = 10 webapp.resource.loader.cache = true webapp.resource.loader.modificationCheckInterval = 3 velocimacro.library.autoreload = false velocimacro.library = /WEB-INF/config/VM_global_library.vm velocimacro.permissions.allow.inline = true velocimacro.permissions.allow.inline.to.replace.global = false velocimacro.permissions.allow.inline.local.scope = false velocimacro.context.localscope = false runtime.interpolate.string.literals = true resource.manager.class = org.apache.velocity.runtime.resource.ResourceManagerImpl resource.manager.cache.class = org.apache.velocity.runtime.resource.ResourceCacheImpl --------------------------------------------------- -----------------$B-)(Blogin.vm---------------------- <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> $B%m%0%$%s(B

$B%m%0%$%s2hLL(B


$B%m%0%$%s(BID
$B%Q%9%o!<%I(B
#set($actionerrors=$request.getAttribute('org.apache.struts.action.ERROR') ) ActionErrors class: $actionerrors.class.name ActionErrors size: $actionerrors.size() #foreach( $e in $actionerrors.get() ) ActionError key: $e.key #end ---------------------------------------- -------------$B-*(BLoginForm.java------------ package shopping.action.login; import java.io.Serializable; public class LoginForm implements Serializable { private static final long serialVersionUID = 1L; public static final String loginId_VALIDATOR = "required"; public static final int loginId_VALIDATOR_ORDER = 1; public static final String loginId_VALIDATOR_ARGS = "userId"; public static final String password_VALIDATOR = "required"; public static final int password_VALIDATOR_ORDER = 2; public static final String password_VALIDATOR_ARGS = "password"; private String userId; private String password; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } ---------------------------------------- ---------------$B-+(BUserLogic-------------- package shopping.logic; import java.util.List; import shopping.action.entry.EntryUserForm; import shopping.action.login.LoginForm; import shopping.dto.User; public interface UserLogic { //UserEntry$B=hM}!JEPO?;~!K(B void entryUser(EntryUserForm userEntryForm); //Login$B=hM}!J%m%0%$%s$7$?(BUser$B>pJs$rJV$9!K(B List getUserByLoginIdAndPassword(LoginForm userLoginForm); } --------------------------------------- -------------$B-,(BUserLogicImpl------------ package shopping.logic; import java.util.List; import shopping.action.entry.UserForm; import shopping.action.login.LoginForm; import shopping.dao.UserDao; import shopping.dto.User; import shopping.utils.BeanUtil; public class UserLogicImpl implements UserLogic { private UserDao userDao; private List userlist; public void setUserDao(UserDao userDao) { this.userDao = userDao; } //Entry$B;~$K8F$S=P$5$l$k!J(BForm$B$NCf?H$r(BUser$B%/%i%9!J(BBean$B!K$K3JG<$7$F(BDao$B$X!K(B public void entryUser(UserForm userEntryForm) { User user = new User(); BeanUtil.copyProperties(user, userEntryForm); //Form$B$N3FMWAG$,3JG<$5$l$?(Buser$B$r%G!<%?%Y!<%9$XEO$7!"EPO?$9$k(B userDao.create(user); } //Login$B;~$K8F$S=P$5$l$k!J(BForm$B$NCf?H$r(BUser$B%/%i%9!J(BBean$B!K$K3JG<$7$F(BDao$B$X!K(B public List getUserByLoginIdAndPassword(LoginForm loginForm) { User user = new User(); BeanUtil.copyProperties(user, loginForm); userlist = userDao.findByLoginIdAndPassword(user); return userlist; } } -------------------------------------- --------------$B-,(BBeanUtil-------------- package shopping.utils; import java.lang.reflect.InvocationTargetException; import org.apache.commons.beanutils.BeanUtils; public class BeanUtil { public static void copyProperties(Object dest, Object orig) { try { /*copyProperties$B%a%=%C%I$G(Bdest$B!J(BBean$B!K$N%W%m%Q%F%#L>$HF1L>$NMWAG$r(Borig $B!J(BForm$B!K$+$i$^$H$a$F%;%C%?!!W$N(B $B%W%m%Q%F%#$K%3%T!<$7$^$9!#(B*/ BeanUtils.copyProperties(dest, orig); } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (InvocationTargetException e) { throw new RuntimeException(e); } } } ------------------------------------- ---------------$B--(BUser-------------- package shopping.dto; public class User { private String userId; //$B%f!<%6!<(BID private String password; //$B%Q%9%o!<%I(B public String getUserId() { return userId; } public String getPassword() { return password; } public void setUserId(String userId) { this.userId = userId; } public void setPassword(String password) { this.password = password; } } ------------------------------------- ------------$B-.(Bshopping.dicon------------ "shopping.logic" ".*LogicImpl" @[E-MAIL ADDRESS DELETED] "shopping.action" ".*ActionImpl" "shopping.dao" ".*DaoImpl" ---------------------------------------- --------------$B-/(Bapp.dicon----------- ----------------------------------- _________________________________________________________________ MSN$BAjCLH"!!%W%l%<%s%H%-%c%s%Z!<%s!#NI2sEz$NCf$+$iCjA*$G(B10$BK|1_#G#e#t!*(B http://questionbox.jp.msn.com/present/ -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... URL: From [E-MAIL ADDRESS DELETED] Wed Aug 20 17:51:37 2008 From: [E-MAIL ADDRESS DELETED] (Toshihiro Nakamura) Date: Wed, 20 Aug 2008 17:51:37 +0900 Subject: [s2struts-dev:73] Re: =?iso-2022-jp?b?UzJTdHJ1dHMrVmVsb2NpdHkbJEIkThsoQlZhbGlkYXRp?= =?iso-2022-jp?b?b24bJEI9aE19GyhC?= In-Reply-To: References: Message-ID: <20080820173700.ABFC.NAKAMURA.TOSHIHIRO@isid.co.jp> $BCfB<(B(taedium)$B$G$9!#(B $B$3$3$O3+H/ $B%a!<%j%s%0%j%9%H$N3'MM(B > > $B$3$s$K$A$O!"(BS2Struts$B$N(BValidation$B=hM}$K4X$9$k > $B!V(BSeasar2$B$K$h$k(BWeb$B%"%W%j%1!<%7%g%s%9!<%Q!<%5%s%W%k!W$N(B2-2$B$K=q$+$l$F$$$k(B > S2Struts+Mayaa$B$N(BValidation$B=hM}$r(B S2Struts+Velocity$B$KJQ$($?$$$N$G$9$,!"(B > Action$B$G(BMessageManager$B$rDL$C$F$$$k$N$O3NG'$G$-$k$N$G$9$,!"(BVelocity$B$G$I$&(B > $B$d$C$F$bI=<($5$;$k$3$H$,$G$-$^$;$s!#(B > Velocity$B$H(BValidation$B$N$?$a$[E-MAIL ADDRESS DELETED]$9$k!"[E-MAIL ADDRESS DELETED]%U%!%$%k$bDj5A$7$F$$$k$D$b$j(B > $B$J$N$G$9$,!"$J$<$+(BVelocity$BB&$GI=<($5$l$^$;$s!#(B > Velocity$B$d(BS2Struts$BEy$N(BMailingList$B$d(BWeb$B%5%$%H$b%A%'%C%/$7$?$N$G$9$,!"2r7h(B > $B$G$-$J$+$C$?$?$a!" > $B;HMQ$7$F$$$k%i%$%V%i%j$N(BVersion$B$O(BSeasar2.3$B!"(BS2Struts1.2.8$B!"(BVelocity1.5$B$G(B > $B$9!#(BDB$B@\B3$O(BS2DAO$B$G$O$J$/!"(BiBatis$B$r;H$C$F$$$^$9$,!"LdBj$J$/F0$$$F$*$j$^$9!#(B > $B8=>u$G$9$,!"(BVelocity$BB&$G(BMessageManager$B$[E-MAIL ADDRESS DELETED]$7$?(BActionError$B$N(Bkey$B!J!a$3$N(B > $B>l9g$O(B$errors.login$B!K$r $B$=$NMWAG!J!a(B.properties$B%U%!%$%k$N%a%C%;!<%8!K$, > $B$^$?!"(Bkey$B$r $B$$$^$9(B > > ------------------------------------------ > #set($actionerrors=$request.getAttribute('org.apache.struts.action.ERROR') ) > #foreach( $e in $actionerrors.get() ) > ActionError key: $e.key > $errors.login > ------------------------------------------ > > Struts$B$^$?$O(BS2Struts$B$^$?$O(BVelocity$B$N$I$3$+$G(BResourceBundle$B$7$?CM$r $B$-$:$K$$$k5$$,$7$^$9!#(B > $B?=$7Lu$4$6$$$^$;$s$,!"65$($F$/$@$5$$!#$h$m$7$/$*4j$$CW$7$^$9!#(B > > $B2<5-!"@_Dj%U%!%$%k(B + Java$B%U%!%$%k$G$9!#(B > $B-!(Bstruts-config.xml > $B-"(Btoolbox.xml > $B-#(BLoginActionImpl > $B-$(BLoginAction > $B-%(Bapplication.properties > $B-&(Bvalidator-rules.xml > $B-'(Bvalidation.xml > $B-((Bvelocity.properties > $B-)(Blogin.vm > $B-*(BUserLogic > $B-+(BUserLogicImpl > $B-,(BBeanUtil > $B--(BUser > $B-.(Bshopping.dicon > $B-/(Bapp.dicon > > --------------$B-!(Bstruts-config.xml---------------- > > > Struts Configuration 1.2//EN" > "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> > > > processorClass="org.seasar.struts.processor.S2RequestProcessor" /> > > > > > value="/WEB-INF/config/validator-rules.xml,/WEB-INF/config/validation.xml"/> > > > className="org.seasar.struts.plugin.AutoStrutsConfigRegisterPlugIn"> > > > > -------------------------------------------- > --------------$B-"(Btoolbox.xml------------------ > > > > math > application > org.apache.velocity.tools.generic.MathTool > > > date > application > org.apache.velocity.tools.generic.DateTool > > > sort > application > org.apache.velocity.tools.generic.SortTool > > > link > request > org.apache.velocity.tools.struts.StrutsLinkTool > > > slink > request > org.apache.velocity.tools.struts.SecureLinkTool > > > text > request > org.apache.velocity.tools.struts.MessageTool > > > errors > request > org.apache.velocity.tools.struts.ErrorsTool > > > messages > request > org.apache.velocity.tools.struts.ActionMessagesTool > > > form > request > org.apache.velocity.tools.struts.FormTool > > > tiles > request > org.apache.velocity.tools.struts.TilesTool > > > validator > request > org.apache.velocity.tools.struts.ValidatorTool > > > cookie > request > org.apache.velocity.tools.view.tools.CookieTool > > > ----------------------------------------- > -------------$B-#(BLoginActionImpl--------------- > $B!A>JN,!A!J$3$3$O3N MessageManageer.addGlobalError("errors.login"); > MessageManager.saveErrors(); > return FAILURE; > ----------------------------------------- > -------------$B-$(BLoginAction----------------- > package shopping.action.login; > > public interface LoginAction { > > public static final String SUCCESS_FORWARD = > "path=/WEB-INF/page/finishedLogin.vm"; > public String SUCCESS = "success"; > > public static final String FAILURE_FORWARD = "path=/login.vm"; > public String FAILURE = "failure"; > > public String login(); > } > ----------------------------------------- > -----------$B-%(Bapplication.properties----------- > # resource[errors.required={0}$B$rF~NO$7$F$/$@$5$$!#(B] > errors.required={0}$B$rF~NO$7$F$/$@$5$$!#(B > > # resource[errors.login=$B%m%0%$%s(BID$B$^$?$O%Q%9%o!<%I$[E-MAIL ADDRESS DELETED]$7$/$"$j$^$;$s!#(B] > errors.login=$B%m%0%$%s(BID$B$^$?$O%Q%9%o!<%I$[E-MAIL ADDRESS DELETED]$7$/$"$j$^$;$s!#(B > > # resource[userId=$B%m%0%$%s(BID] > userId=$B%m%0%$%s(BID > > # resource[password=$B%Q%9%o!<%I(B] > password=$B%Q%9%o!<%I(B > ----------------------------------------- > -------------$B-&(Bvalidator-rules.xml------------- > "-//Apache Software Foundation//DTD Commons Validator Rules > Configuration 1.1.3//EN" > "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"> > > > classname="org.apache.struts.validator.FieldChecks" > method="validateRequired" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > msg="errors.required"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateRequiredIf" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > msg="errors.required"/> > > msg="errors.required" > classname="org.apache.struts.validator.validwhen.ValidWhen" > method="validateValidWhen" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateMinLength" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.minlength" > jsFunction="org.apache.commons.validator.javascript.validateMinLength"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateMaxLength" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.maxlength" > jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateMask" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.invalid"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateByte" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.byte" > jsFunctionName="ByteValidations"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateShort" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.short" > jsFunctionName="ShortValidations"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateInteger" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.integer" > jsFunctionName="IntegerValidations"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateLong" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.long"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateFloat" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.float" > jsFunctionName="FloatValidations"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateDouble" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.double"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateDate" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.date" > jsFunctionName="DateValidations"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateIntRange" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="integer" > msg="errors.range"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateFloatRange" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="float" > msg="errors.range"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateDoubleRange" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="double" > msg="errors.range"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateCreditCard" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.creditcard"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateEmail" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.email"/> > > classname="org.apache.struts.validator.FieldChecks" > method="validateUrl" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.url"/> > > classname="org.seasar.struts.validator.FieldChecks" > method="validateMinByteLength" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.minbytelength"/> > > > classname="org.seasar.struts.validator.FieldChecks" > method="validateMaxByteLength" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > org.apache.commons.validator.Validator, > javax.servlet.http.HttpServletRequest" > depends="" > msg="errors.maxbytelength"/> > > > classname="" > method="" > methodParams="" > depends="" > msg="" > jsFunction="org.apache.commons.validator.javascript.validateUtilities"/> > > > -------------------------------------------------- > ----------------$B-'(Bvalidation.xml---------------------- > > > "-//Apache Software Foundation//DTD Commons Validator Rules > Configuration 1.1.3//EN" > "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"> > > > > > > > > > > -------------------------------------------------- > ----------------$B-((Bvelocity.properties------------------ > runtime.log.error.stacktrace = false > runtime.log.warn.stacktrace = false > runtime.log.info.stacktrace = false > runtime.log.invalid.reference = true > > input.encoding=UTF-8 > output.encoding=UTF-8 > > directive.foreach.counter.name = velocityCount > directive.foreach.counter.initial.value = 1 > > directive.include.output.errormsg.start = > > directive.parse.max.depth = 10 > > webapp.resource.loader.cache = true > webapp.resource.loader.modificationCheckInterval = 3 > velocimacro.library.autoreload = false > velocimacro.library = /WEB-INF/config/VM_global_library.vm > > velocimacro.permissions.allow.inline = true > velocimacro.permissions.allow.inline.to.replace.global = false > velocimacro.permissions.allow.inline.local.scope = false > > velocimacro.context.localscope = false > > runtime.interpolate.string.literals = true > > resource.manager.class = > org.apache.velocity.runtime.resource.ResourceManagerImpl > resource.manager.cache.class = > org.apache.velocity.runtime.resource.ResourceCacheImpl > --------------------------------------------------- > -----------------$B-)(Blogin.vm---------------------- > <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> > > > > rel="stylesheet" type="text/css"> > $B%m%0%$%s(B > > > >
>

$B%m%0%$%s2hLL(B

>
>
>
>
>
> > > > > > > > > >
$B%m%0%$%s(BID id="userId">
$B%Q%9%o!<%I(B id="password">
> > > > > >
>
>
> > #set($actionerrors=$request.getAttribute('org.apache.struts.action.ERROR') ) > ActionErrors class: $actionerrors.class.name > ActionErrors size: $actionerrors.size() > #foreach( $e in $actionerrors.get() ) > ActionError key: $e.key > #end > > > > ---------------------------------------- > -------------$B-*(BLoginForm.java------------ > package shopping.action.login; > > import java.io.Serializable; > > public class LoginForm implements Serializable { > private static final long serialVersionUID = 1L; > > public static final String loginId_VALIDATOR = "required"; > public static final int loginId_VALIDATOR_ORDER = 1; > public static final String loginId_VALIDATOR_ARGS = "userId"; > public static final String password_VALIDATOR = "required"; > public static final int password_VALIDATOR_ORDER = 2; > public static final String password_VALIDATOR_ARGS = "password"; > > private String userId; > private String password; > > public String getUserId() { > return userId; > } > public void setUserId(String userId) { > this.userId = userId; > } > public String getPassword() { > return password; > } > public void setPassword(String password) { > this.password = password; > } > } > ---------------------------------------- > ---------------$B-+(BUserLogic-------------- > package shopping.logic; > > import java.util.List; > > import shopping.action.entry.EntryUserForm; > import shopping.action.login.LoginForm; > import shopping.dto.User; > > public interface UserLogic { > //UserEntry$B=hM}!JEPO?;~!K(B > void entryUser(EntryUserForm userEntryForm); > //Login$B=hM}!J%m%0%$%s$7$?(BUser$B>pJs$rJV$9!K(B > List getUserByLoginIdAndPassword(LoginForm userLoginForm); > } > --------------------------------------- > -------------$B-,(BUserLogicImpl------------ > package shopping.logic; > > import java.util.List; > > import shopping.action.entry.UserForm; > import shopping.action.login.LoginForm; > import shopping.dao.UserDao; > import shopping.dto.User; > import shopping.utils.BeanUtil; > > public class UserLogicImpl implements UserLogic { > private UserDao userDao; > private List userlist; > > public void setUserDao(UserDao userDao) { > this.userDao = userDao; > } > > //Entry$B;~$K8F$S=P$5$l$k!J(BForm$B$NCf?H$r(BUser$B%/%i%9!J(BBean$B!K$K3JG<$7$F(BDao$B$X!K(B > public void entryUser(UserForm userEntryForm) { > User user = new User(); > BeanUtil.copyProperties(user, userEntryForm); > //Form$B$N3FMWAG$,3JG<$5$l$?(Buser$B$r%G!<%?%Y!<%9$XEO$7!"EPO?$9$k(B > userDao.create(user); > } > > //Login$B;~$K8F$S=P$5$l$k!J(BForm$B$NCf?H$r(BUser$B%/%i%9!J(BBean$B!K$K3JG<$7$F(BDao$B$X!K(B > public List getUserByLoginIdAndPassword(LoginForm loginForm) { > User user = new User(); > BeanUtil.copyProperties(user, loginForm); > userlist = userDao.findByLoginIdAndPassword(user); > return userlist; > } > } > -------------------------------------- > --------------$B-,(BBeanUtil-------------- > package shopping.utils; > > import java.lang.reflect.InvocationTargetException; > > import org.apache.commons.beanutils.BeanUtils; > > public class BeanUtil { > > public static void copyProperties(Object dest, Object orig) { > try { > /*copyProperties$B%a%=%C%I$G(Bdest$B!J(BBean$B!K$N%W%m%Q%F%#L>$HF1L>$NMWAG$r(Borig > $B!J(BForm$B!K$+$i$^$H$a$F%;%C%?! $B!J(B2$B$DL\$K;XDj$5$l$?%*%V%8%'%/%H$NA4%W%m%Q%F%#$rD4$Y$F$=$NCM$r $B$DL\$K;XDj$5$l$?%*%V%8%'%/%H$N!VF1L>!W$N(B > $B%W%m%Q%F%#$K%3%T!<$7$^$9!#(B*/ > BeanUtils.copyProperties(dest, orig); > } catch (IllegalAccessException e) { > throw new RuntimeException(e); > } catch (InvocationTargetException e) { > throw new RuntimeException(e); > } > } > } > ------------------------------------- > ---------------$B--(BUser-------------- > package shopping.dto; > > > public class User { > > private String userId; //$B%f!<%6!<(BID > private String password; //$B%Q%9%o!<%I(B > > public String getUserId() { return userId; } > public String getPassword() { return password; } > public void setUserId(String userId) { this.userId = userId; } > public void setPassword(String password) { this.password = password; } > } > ------------------------------------- > ------------$B-.(Bshopping.dicon------------ > > "http://www.seasar.org/dtd/components23.dtd"> > > > class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"> > > class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/> > > > "shopping.logic" > ".*LogicImpl" > > > > class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"> > > @[E-MAIL ADDRESS DELETED] > > > class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/> > > > "shopping.action" > ".*ActionImpl" > > > > class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"> > > class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/> > > > "shopping.dao" > ".*DaoImpl" > > > > ---------------------------------------- > --------------$B-/(Bapp.dicon----------- > > "http://www.seasar.org/dtd/components23.dtd"> > > > > > > ----------------------------------- > > > > _________________________________________________________________ > MSN$BAjCLH"!!%W%l%<%s%H%-%c%s%Z!<%s!#NI2sEz$NCf$+$iCjA*$G(B10$BK|1_#G#e#t!*(B > http://questionbox.jp.msn.com/present/ -- Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>