0

パスの 1 つ (UnderAge) にしかマップされないように見えるアクション マッピングがあります。アクション クラスにいくつかのロジックがあります。アクション クラスでばかげたプログラミング ミスを犯したのか、またはアクション マッピングが間違っています。アクションのマッピングは次のとおりです。

<action
            path="/AgeCheck"
            type="coreservlets.CheckAgeAppAction"
            name="CheckAgeAppForm"
            input="/welcome.jsp">   

            <forward name="OverAge" path="/OverAge.jsp" />
            <forward name="UnderAge" path="/UnderAge.jsp" />
            </action>

そして、私のアクションクラスはここにあります:

package coreservlets;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public int age;

public class CheckAgeAppAction extends Action {
    public ActionForward execute(
              ActionMapping mapping,
              ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response) throws ServletException{


        coreservlets.CheckAgeAppForm CheckAgeAppForm = (CheckAgeAppForm) form;
//      String age = CheckAgeAppForm.getAge();
        age = Integer.parseInt(CheckAgeAppForm.getAge());
        System.out.println("int is : " + num);

        if (age > 17){
            return mapping.findForward("OverAge");

        }
        else{
            return mapping.findForward("UnderAge");
        }



}

ユーザーに名前と年齢を入力してもらいたいのですが、jsp ページでユーザーが入力した年齢 (>18 = OverAge、<18 = UnderAge) に応じて、OverAge または UnderAge パスを決定する必要があります。アクションフォームは、私がそこでエラーを起こした場合に備えてここにあります:

package coreservlets;

import org.apache.struts.action.*;

public class CheckAgeAppForm extends ActionForm {

    private static final long serialVersionUID = 1L;
    private String firstName= "Enter Name";
    private String age = "Enter Age";

    public String getFirstName(){
        return firstName;
    }
    public String getAge(){
        return age;
    }
    public void setFirstName(String name){
        this.firstName= name;
    }
    public void setAge(String age){
        this.age = age;

    }



}
4

0 に答える 0