gFStu常用功能、分析

来源:互联网 发布:网络直播工作室招主播 编辑:程序博客网 时间:2024/06/03 20:13

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


0 0
原创粉丝点击