[Seasar-user:14050] Re: [S2Strtus]validationについて

梅林 剛 [E-MAIL ADDRESS DELETED]
2008年 5月 1日 (木) 19:08:31 JST


中村(taedium)様

プロパティをListにし実行してみましたが
エラーが出てしまい動作致しませんでした。

エラー内容:
例外 
javax.servlet.ServletException: BeanUtils.populate
	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
	org.seasar.struts.processor.S2RequestProcessor.processPopulate(S2RequestProcessor.java:127)
	org.seasar.struts.processor.PopulateProcessorImpl.processPopulate(PopulateProcessorImpl.java:45)
	org.seasar.struts.processor.S2RequestProcessor.processS2Populate(S2RequestProcessor.java:132)
	org.seasar.struts.processor.AcceptorImpl.process(AcceptorImpl.java:89)
	org.seasar.struts.processor.S2RequestProcessor.process(S2RequestProcessor.java:61)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
	jp.lg.shimane.pref.internal.common.online.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:133)
	org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:42)
	org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:60)


原因 
java.lang.NullPointerException
	org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:976)
	org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
	org.seasar.struts.processor.S2RequestProcessor.processPopulate(S2RequestProcessor.java:127)
	org.seasar.struts.processor.PopulateProcessorImpl.processPopulate(PopulateProcessorImpl.java:45)
	org.seasar.struts.processor.S2RequestProcessor.processS2Populate(S2RequestProcessor.java:132)
	org.seasar.struts.processor.AcceptorImpl.process(AcceptorImpl.java:89)
	org.seasar.struts.processor.S2RequestProcessor.process(S2RequestProcessor.java:61)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
	jp.lg.shimane.pref.internal.common.online.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:133)
	org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:42)
	org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:60)

【html】
<input type="text" name="arrayText[0]" size="20" value=""><br>
<input type="text" name="arrayText[1]" size="20" value=""><br>
<input type="text" name="arrayText[2]" size="20" value=""><br>
<input type="text" name="arrayText[3]" size="20" value=""><br>

【form】
private List<String> arrayText = new ArrayList<String>();
public List<String> getArrayTexts() {
 return arrayText;
}

public String getArrayText(int index) {
 return arrayText.get(index);
}

public void setArrayText(int index, String value) {
 while (arrayText.size() < index + 1) {
  arrayText.add("");
 }
 arrayText.remove(index);
 this.arrayText.add(index, value);
}

すみません。
何が原因か考えられますでしょうか?

宜しくお願い致します。
-- 
梅林 剛 <[E-MAIL ADDRESS DELETED]>


> From: 梅林 剛 <[E-MAIL ADDRESS DELETED]>
> To:  [E-MAIL ADDRESS DELETED]
> Date: Thu, 01 May 2008 17:53:34 +0900
> wrote:
> 中村(taedium)様
> 
> ご返答ありがとうございます。
> 試してみたいと思います。
> 
> また結果を報告させて頂きますので
> 宜しくお願い致します。
> 
> -- 
> 梅林 剛 <[E-MAIL ADDRESS DELETED]>
> 
> 
> > From: Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>
> > To:  [E-MAIL ADDRESS DELETED]
> > Date: Wed, 30 Apr 2008 19:16:25 +0900
> > wrote:
> > 中村(taedium)です。
> > 
> > > 新たにvalidationを作成しているのですが、配列の値をそのまま
> > > 新たに作成したValidationに渡すことが出来ません。
> > > デバッグすると配列の値を順にvalidatorに渡しているようです。
> > > 
> > > strutsだと出来たように記憶しているのですが。。。
> > > 
> > > なにか良い方法は無いでしょうか?
> > 
> > 配列のときはそのように動作しますね。
> > バリデーション対象のプロパティをListにするのはどうでしょうか?
> > 
> > -- 
> > Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
> > 
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> 
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user





Seasar-user メーリングリストの案内