[중 얼, 교장] Spring + Struts 2 + Jquery Jquery Ajax 요청 action json 데이터 인 스 턴 스 획득
2. 웹. xml 파일 설정
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- struts -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- applicationContext.xml、spring 、applicationContext-*.xml(srping bean )、 -->
<param-value>/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/applicationContext-*.xml</param-value>
</context-param>
<!-- spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3. sturts 2 설정 파일, src 디 렉 터 리 아래 struts 2. xml 설정
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- struts action spring -->
<constant name="struts.objectFactory" value="spring"></constant>
<!-- action 、 json 、 struts2-json-plugin-2.3.4.jar , -->
<package name="default" namespace="/ajax" extends="json-default">
<!-- action、 spring action, class spring bean -->
<action name="jokeAction" class="jokeAction_Spring" method="findJokeList">
<result type="json">
<!-- list ,acrion -->
<param name="root">list</param>
</result>
</action>
</package>
</struts>
4. spring 의 용기 applicationContext. xml 설정
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- setter 、 -->
<!-- jdbc -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/classes/dataSource.properties" />
</bean>
<!-- c3p0 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.pass}"></property>
</bean>
<!-- bean 、 、 -->
<import resource="applicationContext-action.xml"/>
<import resource="applicationContext-service.xml"/>
<import resource="applicationContext-dao.xml"/>
</beans>
5. 테스트 action 클래스
import java.util.List;
import net.sf.json.JSONArray;
import com.master.service.IJokeService;
import com.opensymphony.xwork2.ActionSupport;
public class JokeAction extends ActionSupport{
// 、setter
public IJokeService jokeService;
// json 、
public List<String> list;
public void setJokeService(IJokeService jokeService) {
this.jokeService = jokeService;
}
//action
public String findJokeList(){
System.out.print(" ");
list=jokeService.findJokeList();
return SUCCESS;
}
/**
* @return the list
*/
public List<String> getList() {
return list;
}
/**
* @param list the list to set
*/
public void setList(List<String> list) {
this.list = list;
}
/**
* @return the jokeService
*/
public IJokeService getJokeService() {
return jokeService;
}
}
6. 전단 요청 action, 여 기 는 Jquery 의 ajax 를 사용 합 니 다 (이것 은 편리 하고 실 용적 입 니 다)
$.ajax({
url:"/MasterWork/ajax/jokeAction.action",
type:"get",
success:function(data,textStatus,jq){
/*data、 ajax 、 json */
},
error:function(data,textStatus,jq){alert(2);}
})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.