我正在使用struts2和and jquery从服务器获取值。这里execute()方法调用正确,但jsp值没有显示。JSON未显示值
<html>
<head>
<title>JSON EXAMPLE</title>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
</head>
<body>
<form action="" id="introForm">
<label for="name">Enter Your Name</label>
<input name="name" id="name">
<input type="button" id="button1" value="Submit">
</form>
<div class="result"></div>
<script>
$("#button1").click(function() {
var name1=$("#name").val();
alert("name is "+name1);//showing entered name
$.getJSON('test', { name: name1}, function(data) {
alert(data); // not calling
$('.result').html(data.welcomeMessage);
return false;
});
});
</script>
</body>
</html>
我在lib文件夹中包含jsonplugin-0.34.jar
Action类
package example;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
private String name;
private String welcomeMessage;
@Override
public String execute() {
System.out.println("Inside Action name is " + getName());
setWelcomeMessage("Welcome " + getName() + "!!");
System.out.println(getWelcomeMessage());
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWelcomeMessage() {
return welcomeMessage;
}
public void setWelcomeMessage(String welcomeMessage) {
this.welcomeMessage = welcomeMessage;
}
}
struts.xml的
<package name="example1" extends="json-default">
<action name="test" class="example.HelloWorld">
<result type="json"></result>
</action>
</package>
JSP页面。
程序运行正常,没有显示任何错误。 我在这里试图从<div class="result"></div>
的行动中获取welcomeMessage
。
问题是它没有在jsp页面中显示JSON值。
警报alert(data);
$.getJSON('test', { name: name1}, function(data) {
内不打电话。 请看看问题出在哪里。
您使用的是哪个版本的Struts? –
我正在使用'Struts 2.3.4' – user2302288
然后使用该版本的'struts2-json-plugin'。 –