1.action接口公开对外
||
||==》方法的实现
public String testJSON(){
logger.info("testJSON start...");
result=new JSONObject();
try {
result.put("returnCode", "00");
result.put("returnMsg", "JSON测试调用成功");
} catch (Exception e) {
logger.error("JSON测试调用失败 - wangwz",e);
result.put("returnCode", -1);
result.put("returnMsg", "服务器异常");
}
return SUCCESS;
}
2.service【接口文件】负责声明方法
3.service.impl【接口实现文件】
||
||==》implement service
文件
4.po【接口映射模型类】
||
||==》hbm.xml 【映射数据库表、表中的字段和模型参数】
注意:po文件需要支持序列化 ,需要实现 Serializable
接口
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="com.channelsoft.webprotals.po.TestOperation" table="theme_activity">
<id name="id" type="java.lang.String" column="id">
<!-- <generator class="increment"/> -->
<generator class="assigned"/>
</id>
<property name="themeName" type="java.lang.String" column="theme_name"></property>
<property name="activityType" type="java.lang.String" column="activity_type"></property>
<property name="createTime" type="java.util.Date" column="create_time"></property>
<property name="startTime" type="java.util.Date" column="start_time"></property>
<property name="endTime" type="java.util.Date" column="end_time"></property>
<property name="themeImgUrl" type="java.lang.String" column="theme_img_url"></property>
<property name="status" type="java.lang.String" column="status"></property>
<property name="districtCode" type="java.lang.String" column="district_code"></property>
</class>
</hibernate-mapping>
table
绑定表,id
唯一标识,property
的name对应模型变量,column对应数据库表中字段
5.constants【宏文件】
6.applicationContext_webprotals.xml【接口映射实现文件】
注意需要BaseServiceObject
,该类中含有封装数据库处理的sql语句
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="applicationContext.xml" />
<bean id="themeActivityService" parent="txProxyTemplate">
<property name="target">
<bean class="com.channelsoft.webprotals.service.impl.ThemeActivityService"
parent="abstractBaseService" />
</property>
</bean>
</beans>
=》指定接口实现的类
7.struts_webprotals.xml【浏览器接口调用映射文件】
<action name="testJump" class="com.channelsoft.webprotals.action.testJSONAction" method="reJumpTest">
<result name="reJumpTest">/WebPortals/activity/reJumpTest.jsp</result>
</action>
<action name="testJson" class="com.channelsoft.webprotals.action.testJSONAction" method="testJSON">
<result type="json">
<param name="root">result</param>
<param name="excludeNullProperties">true</param>
</result>
</action>
<action name="getTestRedAcInfo" class="com.channelsoft.webprotals.action.testJSONAction" method="getTestRedAcInfo">
<result type="json">
<param name="root">result</param>
<param name="excludeNullProperties">true</param>
</result>
</action>
*使用的2种方法:
1):指定是result type="json"
返回的是接口JSON格式 。class
指定类 ,method
类中的方法,方法需要返回值为JSONObject类型。
2):指定result name="reJumpTest">/WebPortals/activity/reJumpTest.jsp</result>
页面跳转的接口,如果是jsp
界面可以动态传参
,jsp
界面使用${columnId}
,其中columnId
是action中指定类的全局变量名
,返回方法例如:```
public String reJumpTest() {
columnId = ("column_id")+"wangwz";
return "reJumpTest";
}
return字符集和action指定的`result name`一致
注意:Java中所有类中的定义的全局变量默认不添加get以及set方法,需要自己去手动实现。
网友评论