一、JS常用
1、extForm数据的装载
方法1:
action
String jsonString = JsonHelper.encodeObject2Json(list, G4Constants.FORMAT_DateTime);
request.setAttribute("rootForm", jsonString);
JSP页面
G4Studio:out可以将request、response里的数据输出到网页
action中输出的字符串: [{"sspecia":"专业","sfunction":"职务"}]
<G4Studio:script>
var root_form = '<G4Studio:out key="rootForm" scope="request" />';
</G4Studio:script>
JS页面:var data = Ext.util.JSON.decode(root_form.replace('[','').replace(']',''));
myForm.getForm().setValues(storeModItem);
-----action传过来的字符串作为JS中的JSON字符串,需序列化为JSON对象才能使用
方法2:
JSP页面
<G4Studio:script>
var storeModItem = new Ext.data.Store({
proxy : new Ext.data.MemoryProxy(<G4Studio:out key="rootForm" scope="request" />),
reader : new Ext.data.JsonReader({},[{name:'sname'},{name:'stitle'},{name:'sfunction'},{name:'sspecia'},{name:'sinfo'},{name:'rtitle'},{name:'rdatetime'},{name:'rcount'},{name:'rsite'},{name:'raudience'},{name:'rcompere'},{name:'rcontent'}])
//reader : new Ext.data.JsonReader({},[{name:'sname',mapping: 'name' },{name:'zc',mapping: 'name'}])
});
storeModItem.load();//alert(storeModItem.getCount());
//alert(storeModItem.getAt(0).get('zc'));
</G4Studio:script>
mapping可以改变json字段与form组件的对应关系JS页面:
myForm.getForm().loadRecord(storeModItem.getAt(0));
-----------action传过来的字符串作为JS中的store
------------js中对应组件的name属性值,一定要为小写,否则数据可以查出、但装载不进去-----貌似因为sql语句中 select xxx,xxx无论在数据库中原始是否大小写,在经过序列化时全部变成了小写
2、action查出来的数据填充到普通JSP页面中
参考:http://blog.csdn.net/szwangdf/article/details/10067567,通过resultMap与resultClass取得Map结果集的差异
方法一:
sqlmap.xml
<select id="queryRegisterByStuID" parameterClass="map" resultClass="dto">
action:
Dto outDto = (BaseDto)g4Reader.queryForObject("Cszjf.queryRegisterByStuID", dto);
request.setAttribute("stuInfoF", outDto);
普通jsp:<%
Map<String, ?> mp = (Map<String, ?>); //Map<String,String> mp = (Map<String, String>); //报错,因为action中传到jsp的键值为各种对象如Integer等, //Integer自动转换为String会报错
request.getAttribute("stuInfoF");%>
<td class="jbxx_td1"><span>*考生号:<%=mp.get("userid")%></td>
方法二:
sqlmap.xml
<select id="queryRegisterByStuID" parameterClass="map" resultClass="java.util.HashMap">
action:
Map mp = (Map)g4Reader.queryForObject("Cszjf.queryRegisterByStuID", dto);
普通jsp:<%Map mp = (Map)request.getAttribute("stuInfoF");
%>
3、在普通JSP或者action里取 “全局参数”
import org.g4studio.common.util.WebUtils;
String timequerycard = WebUtils.getParamValue("timeQueryCard", request);
二、JSP常用
1、不登陆即可访问xxx.jsp
org.g4studio.common.util.RequestFilter
九、常用配置
1、静态资源过滤器:提供压缩和缓存的功能(强力建议在开发调试阶段将此组件注释掉,在生产环境中部署时再打开,文档P221
2、关闭“异常监控”,src\resources\global.g4.properties。(也可以关闭其它的功能)
十、修改、改进
1、session中的用户信息增加属性,
org.g4studio.system.common.dao.vo\UserInfoVo,增加private 变量、get和set方法;
在sqlmap.system/Organization.xml中修改getUserInfo的sql语句
可获取3张表里的信息:eauser、eausersubinfo、eadept
2、新用户强制修改密码
\index.jsp
system\admin\js\index.js
十二、分析
1、所有application
取值:
Enumeration<String> a=application.getAttributeNames();
while(a.hasMoreElements()){
//out.println(application.getAttribute(a.nextElement())); //有些值可能 是对象,不能直接取
out.println( a.nextElement() ); //取名称
}
取出的名称:
com.sun.jsp.tagFileJarUrlsCache
org.g4studio.core.mvc.xstruts.action.REQUEST_PROCESSOR
org.g4studio.core.mvc.xstruts.action.MODULE
EACODELIST ---字典维护:[{field=SEX, sortno=1, codedesc=未知, codeid=10000000, code=0, fieldname=性别},.....]
org.g4studio.core.mvc.xstruts.action.PLUG_INS/csmw
javax.servlet.context.tempdir
com.sun.jsp.taglibraryCache
org.g4studio.core.mvc.xstruts.action.MODULE/demo
org.apache.catalina.jsp_classpath
org.g4studio.core.mvc.xstruts.globals.MODULE_PREFIXES
org.g4studio.core.mvc.xstruts.action.ACTION_SERVLET
org.g4studio.core.mvc.xstruts.action.REQUEST_PROCESSOR/cszjf
com.sun.appserv.tld.map
org.g4studio.core.mvc.xstruts.action.MODULE/cszj
org.g4studio.core.mvc.xstruts.action.PLUG_INS/demo
org.g4studio.core.mvc.xstruts.action.MODULE/cszjf
org.g4studio.core.mvc.xstruts.action.PLUG_INS
org.g4studio.core.mvc.xstruts.action.PLUG_INS/zq
org.g4studio.core.mvc.xstruts.action.PLUG_INS/cszj
jspx.1st.request
org.g4studio.core.mvc.xstruts.action.MODULE/zq
org.g4studio.core.mvc.xstruts.action.SERVLET_MAPPING
actions/cszjf
org.g4studio.core.mvc.xstruts.action.MODULE/csmw
EAPARAMLIST ---全局参数表维护:[{paramid=10000017, paramkey=SYS_TITLE, paramvalue=信阳农林学院单独招生网上报名系统},......]
org.g4studio.core.mvc.xstruts.action.PLUG_INS/cszjf
actions
启动服务器时同步加载字典、参数到内存:
在web.xml中配置“系统启动监听器”,并指向org.g4studio.common.util.SystemInitListener
单独数据表的字典、参数,如在extjs里使用则可在Resource.xml里union
也可 按自己需要的格式 在SystemInitListener里加载
2、eauser和eausersubinfo
一个是用户信息表,一个是用户 样式、背景图片
3、获取当前用户的信息
IDHelper.getRoleID()--------获取的不是数据表中的id,是角色表的 主键(序列号)生成器
IDHelper.getUserID()--------获取的不是数据表中的id,是用户表的 主键(序列号)生成器
getSessionContainer(request).getUserInfo().getDeptid()
4、登录后,首页 上下欢迎词
src\main\java\org\g4studio\system\admin\web\tag\ArmViewportTag.java
src\main\java\org\g4studio\system\admin\web\tag\template\ArmViewportTag.tpl