I was trying to get bean object and other instance field of Action class in JSON.
I am implementing ModelDriven to set data coming from jquery ajax into a bean class.I have another field in action class with getter and setter.But it is not setting in Json object.
Here is my
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>
And struts.xml is
<package name="default" namespace="/" extends="struts-default,json-default">
<action name="submitForm" class="org.mz.example.action.Action">
<result type="json">
</result>
</action>
</package>
And Acton.java is
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>
I want to get instance field result value of action class in Json.
But in jquery, What i am getting is JSON object is acting as Student Object.
Here is bean class 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;
}
}
I want to get value of result field and bean object Student in JSON on index.jsp.
I dont want <param name="root">rsult</param>
I want both result and bean class at one time.
How can I do it.
I want also one suggesstion.
If i send data in JSON to action class.How will it automatically set it to bean class and other data to instance of Action class.