Question2Answer(q2a)主题--“坚果盒”

前段时间心血来潮想建个问答站,找找开源程序找到了Q2A,无奈界面实在不喜欢,于是自己DIY了一个模板,好吧,其实我是抄的人人小站的风格~~。

这个风格做的不咋滴,部分细节地方没考虑的多细致,比较粗糙,因为做了一大半后突然没兴致了,而且有的功能跟我需要的不大一样,就搁置了~~~想要的下载了凑活着用吧,或者自己改改用也行

##点这个下载→:Jianguo.zip 

解压后文件夹放到qa-theme下面,再在后台启用下就OK

界面截图:

阅读剩余部分 -

spring mvc 小笔记

常用注解

    @Controller
    在类上面定义,表明该类为控制器,返回字符串与redirect:xxx
    @RequestMapping
    类或方法上面使用此注解,设置URL访问地址。它有两个属性,value指定访问路径,method指定指定请求方式,请求方式在RequestMethod这个类中,全部以常量形式定义,它默认使用GET请求。
    @RequestParam
    指定Request请求参数,在方法参数中定义,相当于传统的request.getParameter()
    @PathVariable
    获取URL访问路径变量,这是Spring MVC 3.0框架才加入的特性,基于RESTful风格的URL访问路径。
    @ModelAttribute
全局式的方法,在一组URL访问路径中,每次都会执行,方法返回结果保存在module会话中。
    @Service
    在类上面定义,指定被注解的类是业务逻辑组件,如果不指定具体的Bean ID,则采用默认命名方式,即类名的首字母小写。

    @Autowired
    IoC自动注入功能,替换以前的set写法,在SSH2中就已经开始使用了。

    @Qualifier
    对同一接口类有不同实现指定具体的实现类。
    @ResponseBody
    同样定义在方法上,Ajax调用声明,指定方法返回结果为Ajax回调函数结果。这是Spring MVC 3.0框架中增加的一个新特性。
    @InitBinder
    初始化数据绑定与类型转换,将传入的参数转换为自定义类型,或者对参数进行自定义处理。

@Controller 声明Action组件
@Service    声明Service组件    @Service("myMovieLister") 
@Repository 声明Dao组件
@Component   泛指组件, 当不好归类时. 
@RequestMapping("/menu")  请求映射
@Resource  用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName") 
@Autowired 用于注入,(srping提供的) 默认按类型装配 
@Transactional( rollbackFor={Exception.class}) 事务管理
@ResponseBody
@Scope("prototype")   设定bean的作用域

 

Servlet拦截匹配规则事例

当映射为@RequestMapping(“/user/add”)时:
1、拦截*.do,例如:/user/add.do,弊端:所有的url都要以.do结尾。不会影响访问静态文件。
2、拦截/app/*,例如:/app/user/add,弊端:请求的url都要包含/app,@RequestMapping(“/user/add”)中不须要包含/app。
3、拦截/,例如:/user/add,弊端:对jpg,js,css静态文件的访问也被拦截不能正常显示。
4、拦截/*,可以走到Action中,但转发到jsp时再次被拦截,不能访问到jsp。

转发与重定向

可以通过redirect/forward:url方式转到另一个Action进行连续的处理。

可以通过redirect:url 防止表单重复提交 。

写法如下:

return “forward:/order/add”;

return “redirect:/index.jsp”;

css实现简单的带遮罩的居中弹出层

<div id="overlay"></div>
<div id="win">
<span>欢迎您的到来!</span>
</div>
</div>

遮罩样式:

#overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.5;filter:alpha(opacity=50);}

弹出层样式:

#win{position:absolute;top:50%;left:50%;width:400px;height:200px;background:#fff;border:4px solid #f90;margin:-100px 0 0 -200px;}

其中:-100px与-200px分别为弹出层(#win)高度(height:200px;)与宽度(width:400px;)的一半

ofbiz目录结构和几个重要文件

===================ofbiz整体结构=====================
applications 目录,包含了OFBIz 核心的应用程序组件,如订单管理,电子商务存储等。
component-load.xml 文件定义了所有在OFBIZ启动时需要加载的应用程序的位置。这里的每一个组件,都是一个基于OFBIZ 构建的Web 应用程序。 所以,创建新的应用程序时,需要在该文件中添加应用程序的位置信息。但是在ofbiz\hot-deploy\目录下的应用程序不需要在component-load.xml里定义,ofbiz启动时会自动加载所有hot-deploy下的内容。

Framework 框架目录,包含OFBIZ 框架的组件,例如实体引擎和服务引擎。这是OFBIZ 框架的基础,它们负责数据访问、缓存、展示窗口、管理事务以及更多应用组件使用的低级任务。

hot-deploy 热部署目录,是另一个目录。它的组件能够被删除和自动载入。这里没有
component-load.xml 这个文件。本目录中所有的组件,都会在framework 和application 目录下的组
件被导入之后导入。
另外这个目录不需要通过component-load.xml来制定加载他们,这个目录下面符合ofbiz规则的都会被加载。

specialpurpose
殊目的的组件通常是没有取得作为OFBiz核心组件的资格。它们仅仅为一部分OFBiz用户服务。既然他们是(或者应该是)可选的,OFBiz可以(或者应该)在没有这些组件时候运行。这些组件在 ${OFBizInstallFolder}\specialpurpose目录中。

runtime
存放日志,web服务器等
===================ofbiz组件结构=====================

阅读剩余部分 -

ofbiz中screen的<condition>元素

<condition>元素是<section>的一个子元素。如果该元素的条件计算是真,那么then部分将被执行,否则else将被执行。
如:
<condition> <or> <and> <if-has-permission permission="PROJECTMGR_ADMIN"/> <not><if-has-permission permission="PROJECTMGR_ROLE_ADMIN"/></not> </and> <and> <if-has-permission permission="PROJECTMGR_ROLE_ADMIN"/> <if-compare field="isMember" value="true" operator="equals"/> </and> <and> <if-has-permission permission="PROJECTMGR_VIEW"/> <not><if-has-permission permission="PROJECTMGR_ROLE_VIEW"/></not> <if-compare field="parameters.mainAction" value="VIEW" operator="equals"/> </and> <and> <if-has-permission permission="PROJECTMGR_ROLE_VIEW"/> <if-compare field="isMember" value="true" operator="equals"/> <if-compare field="parameters.mainAction" value="VIEW" operator="equals"/> </and> </or> </condition> <then> <field-to-result field="hasPermission"/> <return/> </then> <else> <property-to-field resource="ProjectMgrUiLabels" property="ProjectMgrNoAccessToProject" field="failMessage"/> <field-to-result field="failMessage"/> <field-to-result field="hasNoPermission" result-name="hasPermission"/> <return/> </else>

condition内部可以放12种条件语句。分别是:

阅读剩余部分 -

热评文章

最新文章

最近回复

归档

其它