现在的位置: 首页 > 综合 > 正文

mobile服务端管理

2018年04月10日 ⁄ 综合 ⁄ 共 1994字 ⁄ 字号 评论关闭

2011.6.-2011.7

由于一些原因,从Android的学习又回到了J2EE。

仓促的时间,进入这个项目,只了解到一个大概。知道是对手机端发布的一些管理和统计。其中包括:客户端发行版本管理、服务端模块管理、服务端模块版本管理、系统配置、可用性配置、商品条码导出、装机量统计、访问量统计、崩溃日志、注册统计、订单量统计、意见反馈、数据导入、点击流。看着还是有点东西在里面吧。

这次使用的开发工具是 IntelliJ IDEA

此工具对Maven的集成比较好

IDEA对svn的导出也很好操作:

整体的项目结构

对我来说的收获,还是有几点的

    1)了解且运营Velocity模板语言,自己以前是用JSP的来进行页面渲染的 。之后在这公司的所有项目都有的Velocity来做的页面渲染。

    2)小乌龟SVN的一些运用,之前Android虽有一些了解,这次了解更多一些。

    3)领域对象(domain)的get、set方法有时需要注意,必须满足Struts2支持的ognl(Object-GraphNavigation Language)表达式。如这样的方式是不可用的:getinfo、setnum。Ognl参考http://baike.baidu.com/view/1347280.htm

    4)资源码,权限管理方面的东西

Velocity里布局页面代码

<a href="$home.getTarget("/admin/config/list.action")"  #if($index==7)class="cur" #end >系统配置</a>

代码home封装的针对根路径获取路径的方法,list.action为Action,if判断当前的模块,就加上cur的样式。

下面是展示select标签

功能类型:
<select  name="typeId" value="2">
   <option value="" >全部</option>
   <option value="1" #if($typeId==1)selected="selected"#end>功能意见</option>
   <option value="2"  #if($typeId==2)selected="selected"#end>界面意见</option>
</select>

这个功能很多系统都会用到的。下面的时间控件也是不可少的。

反馈时间:
<input type="text" id="onlineTimeStart" name="startTime"  value="$!startTime" readonly="readonly"/>

这个时间当初始的时候是使用的JQuery

jQuery(document).ready(function() {
      jQuery("#onlineTimeStart").datepicker({dateFormat:"yy-mm-dd"});
     });

还有一个常用的页面元素,列表:

#foreach($item in $feedBacks)
        <tr>
            <td>$!item.id</td>
            <td>$!dateFormatUtils.format($!item.created,"yyyy-MM-dd HH:mm:ss")</td>
            <td>$!stringEscapeUtils.escapeHtml($!item.ip)</td>
        </tr>
#end

有了迭代,一条一条的记录都能很好的展示。

几种常用的页面元素,一看代码也很好理解,很好使用。公司封装了一些针对页面直接用的工具类,交给Spring管理,直接在页面调用,处理这样很方便

Struts2的规范,上面的查询参数typeId,在Action里接收的时候,是需要一个getTypeId、setTypeId的,如下代码:

public String getTypeId() {
    return typeId;
}

public void setTypeId(String typeId) {
    this.typeId = typeId;
}

当然Struts内部机制:Struts的拦截器根据Action提交的参数,用反射技术在Action中寻找同名的属性,再用set方法注入值,如果是对象,对象属性为null,用反射new一个对象,再注入其属性值。

Struts2还有很多需要了解的地方,深入了解

http://struts.apache.org/

最后来说一下权限管理,这个现在看来也不复杂,看一下代码

@HrmPrivilege(code = HrmPurviewConstants.MOBILE_ADMIN_KEFUVIEW)
    public String list() {
        //doSomething;
        return SUCCESS;
}

就在方法上面加一行注解,在erp资源管理系统里去配置一些就ok。这里看着简单,其实后面慢慢了解到,权限管理还是很大一块功能,逻辑也还是有些复杂的。

抱歉!评论已关闭.