无法使用ajax和struts2集成在jsp上显示json数据

时间:2018-03-28 13:33:35

标签: ajax struts2 struts2-jquery struts2-json-plugin struts2-jquery-plugin

我无法在jsp上显示json数据。 当我在浏览器中检查控制台日志时,我能够在控制台中看到json内容。 任何人都可以帮我用ajax代码来显示数据吗?

Web.xml 内容

<button-component v-for="btn in howManyButtons"
                  :identifier="btn"
                  :key="btn">
</button-component>

动作类内容:

<struts> 
<constant name="struts.devMode" value="true" /> 
<package name="default" extends="json-default" namespace="/">       
<action name="getCronDetails" class="myaction">             
<result name="SUCCESS">/schedule.jsp</result>       
</action>   
</package> 
</struts>

我想以表格格式显示List<emp> myList=new ArrayList<emp>() ; //setter getter method for myList public String getCronDetails (){ myList = fetchData() ; return "SUCCESS"; } ,类型为emp。 任何人都可以用ajax代码帮助我吗?

1 个答案:

答案 0 :(得分:0)

我建议使用jQuery进行ajax调用。 在html中,你需要一个触发调用的元素,例如我使用一个按钮。

按钮应该触发调用动作的js函数。 在示例中,我添加了回调以取消按钮并显示一个微调器(我留下它们进行了注释,因为微调器不存在)。

您在response变量中获得了ajax响应。收到回复后,您可以使用它的内容更新DOM。

&#13;
&#13;
$(document).ready({
	
	$("#getButton").click(function(event){
		$.ajax({
    		  type: "GET",
    		  url: "getCronDetails",
    		  dataType: "json",
    		  beforeSend: function(){
    			//Disable send button and start a spinner
    		  },
    		  success: function(response, status, jqXHR){
    			  //console.log("Ajax Success!");
    			  if(typeof response !== 'object'){
    				  response = JSON.parse(response);
				  }
    			  //doSomethingWithThe(response);
    		  },
    		  error: function(jqXHR, status, error){
    			  //console.log('Ajax Error');
    			  //showError('Ajax Error: ' + error );
    		  },
    		  complete: function(){
    			  //Enable Submit Button and stop spinner
    		  }

		});
	
	
	});
	

});
 
&#13;
...
<body>
	<!-- A button to trigger the ajax call -->
	<button id="getButton">Get Cron Details</button>
	
	<!-- Include jQuery -->
	<script
			  src="https://code.jquery.com/jquery-3.3.1.min.js"
			  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
			  crossorigin="anonymous"></script>
</body>
...
&#13;
&#13;
&#13;