2013-07-08 3 views
1

서버에서 값을 가져 오기 위해 struts2 및 jquery를 사용하고 있습니다. 여기서 execute() 메소드가 제대로 호출되고 있지만 jsp 값은 표시되지 않습니다.JSON이 값을 표시하지 않습니다.

내 lib 폴더에 jsonplugin-0.34.jar을 포함했다

<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> 

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 페이지.

프로그램이 제대로 실행되고있어 오류가 표시되지 않습니다. 여기 조치의 welcomeMessage<div class="result"></div>에 가져 오려고합니다.

jsp 페이지에 JSON 값이 표시되지 않는 문제가 있습니다.

알림 alert(data);$.getJSON('test', { name: name1}, function(data) { 안의 전화. 문제가있는 곳을 확인하십시오.

+0

사용중인 Struts의 버전은 무엇입니까? –

+0

'Struts 2.3.4'을 사용하고 있습니다. – user2302288

+1

그런 다음 해당 버전의'struts2-json-plugin'을 사용하십시오. –

답변

1

<input>은 (자체) 폐쇄되지 않았으며 본문의 스크립트는 $(document).ready() 스 니펫 내부에 머물러 있어야합니다.);

S2 JSON 플러그인의 다운로드 페이지에 속아 넘어 갔을 것입니다. 그 페이지는 오래되었고 유지 보수가되지 않았습니다. 0.32와 0.34는 정말로 오래된 버전입니다.

항상이를 위해 메이븐 저장소를 참조하십시오

http://mvnrepository.com/artifact/org.apache.struts/struts2-json-plugin

을하고 struts2 코어 JAR 중 하나와 일치하는 버전을 선택해야합니다.

+0

답장을 보내 주시고 오류를 지적 해주십시오. – user2302288

+0

'struts2-json-plugin-2.3.4.jar'을 포함 시켰습니다. 이제이 프로그램은 완벽하게 작동합니다. – user2302288

+0

반갑습니다. 그것이 도움이된다면 upvote/accept를 잊지 마라. –

관련 문제