Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

springとvelocityの連携について

springのvalidatorを使って入力チェックを実装したいのですがどのように実装すればよいのかわかりません。

教えていただきたいのは以下の点です。
・controllerからvalidatorを呼び出したいのですが、
 どのように呼び出せばよいでしょうか?

・velocityにはどのように記述すればよいのでしょうか?


↓現在のソースです。
・controller

@Controller
public class SampleInputController {

    @Autowired
    SampleService SampleService;

    @Autowired
    SessionUtility sessionUtility;

    @RequestMapping(value = "/a.htm",method=RequestMethod.GET)
    public String setUpForm(
            Model model,HttpServletRequest request) {
        SampleInputForm input =(SampleInputForm)sessionUtility.getNextForm(request.getSession(),new SampleInputForm());

        if(null == input){
            input = SampleService.getInputForm();
        }

        model.addAttribute("result",input);

        return "a";
    }

    @RequestMapping(value = "/a.htm", method=RequestMethod.POST)
    public String processControl(@ModelAttribute("SampleInputForm") SampleInputForm form,
                            @RequestParam(value="type", required=false)String type,HttpServletRequest req)
        {

        if(null != type ){
            if(type.equals("back")){
                return "redirect:b.htm";
            }
        }

        SampleConfirmForm nextForm = SampleService.getConfirmForm(form);
        SampleInputForm oldForm = SampleService.getInputForm();
        oldForm.setId(form.getId());

        sessionUtility.setOldForm(req.getSession(), oldForm);
        sessionUtility.setNextForm(req.getSession(), nextForm);
        return "redirect:c.htm";

    }

}

・velocity
#set($title ="入力")
#parse("common_header.vm")

<script type="text/javascript">
<!--
    function sendHiddenParam(param,set){
        document.inputform.getElementByName(set).value=param;
    }
//-->
</script>

    <form method="post" name="sampleInputform" id="sampleInputform" enctype="multipart/form-data">
        #if(${result.sampleId}!="")
            <div class="section">修正</div>
        #else
            <div class="section">新規登録</div>
        #end
        <table class="table02" border="1">
            <tr class="tr02">
                <td>aaa<span class="necessary">※</span></td>
                <td><input type=text size="22" maxlength="20" name="sampleName" value="${result.sampleName}"></td>
            </tr>
            <tr>
                <td>bbb<span class="necessary">※</span></td>
                <td><input type=text size="22" maxlength="20" name="sampleBranchName" value="${result.sampleBranchName}"></td>
            </tr>
            <tr class="tr02">
                <td>ccc</td>
                <td>
                    #if(${result.sampleKind}==0)
                        <input type=radio name="sampleKind" value="0" CHECKED>ee − <input type=radio name="sampleKind" value="1">dd
                    #elseif(${result.sampleKind}==1)
                        <input type=radio name="sampleKind" value="0">ee − <input type=radio name="sampleKind" value="1" CHECKED>dd
                    #end
                </td>
            </tr>
            <tr>
                <td>fff<span class="necessary">※</span></td>
                <td><input type=text size="9" maxlength="7" name="accountNumber" value="${result.accountNumber}"></td>
            </tr>
        </table>
        <input type="hidden" name="sampleId" value="${result.sampleId}">
        <input type="submit" value="次へ">
    </form>

    <form  method="post" name="backform" id="backform">
        <input type="submit" value="戻る" onclick="javascript:createHdnType(this.form,'back')">
    </form>

#parse("common_footer.vm")

0

回答

80367

閲覧

0件の回答

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。