如何获取为Bean类实现ModelDriven接口的Action类的所有字段

时间:2016-06-06 04:53:07

标签: json ajax struts2

我试图在JSON中获取Action对象的bean对象和其他实例字段。 我正在实现ModelDriven将来自jquery ajax的数据设置为bean类。我在action类中有另一个带getter和setter的字段。但是它没有在Json对象中设置。
这是我的 index.jsp

<script type="text/javascript">
$(document).ready(function() {
    $('#submit').click(function() {
        var rollNo=$('#rollNo').val();
        var name=$('#name').val();
        var totalMarks=$('#totalMarks').val();

        $.ajax({
            url:'submitForm',
            type:'POST',
            data:{rollNo:rollNo,name:name,totalMarks:totalMarks},
            success:function(data){
                alert(data.rollNo);
            }
        });
    });
});
</script>
</head>
<body>
<table>
<tr>
<td>Roll No:</td>
<td><input id="rollNo" type="text" name="rollNO"></td>
</tr>
<tr>
<td>Name:</td>
<td><input id="name" type="text" name="name"></td>
</tr>
<tr>
<td>Total Marks:</td>
<td><input id="totalMarks" type="text" name="totalMarks"></td>
</tr>
<tr>

<td colspan="2"><input id="submit" type="submit" value="Submit"></td>
</tr>
</table>


struts.xml

<package name="default" namespace="/" extends="struts-default,json-default">    
        <action name="submitForm" class="org.mz.example.action.Action">
         <result type="json">

         </result>
        </action>
    </package>


并且 Acton.java

public class Action extends ActionSupport implements ModelDriven<Student>{

    private Student student=new Student();
    private String result;

    public String execute(){
        System.out.println(student.getName());
        setResult("Hello");
        return SUCCESS;
    }

    public Student getStudent() {
        return student;
    }

    public void setStudent(Student student) {
        this.student = student;
    }

    @Override
    public Student getModel() {
        // TODO Auto-generated method stub
        return student;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    <br>

我想在Json中获取动作类的实例字段结果值。 但是在jquery中,我得到的是JSON对象充当学生对象 这是bean类 Student.java

public class Student {

    private String rollNo;
    private String name;
    private String totalMarks;
    public String getRollNo() {
        return rollNo;
    }
    public void setRollNo(String rollNo) {
        this.rollNo = rollNo;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTotalMarks() {
        return totalMarks;
    }
    public void setTotalMarks(String totalMarks) {
        this.totalMarks = totalMarks;
    }
}


我希望在 index.jsp 中获得JSON中结果字段 bean对象学生的价值。
我不想要<param name="root">rsult</param>我一次想要结果和bean类。
我怎么做
我也想要一个建议。 如果我将JSON中的数据发送到动作类。它会如何自动将其设置为bean类,将其他数据设置为Action类的实例。

0 个答案:

没有答案