因为现在视图表现技术种类比较多,而struts2为符合综括一切的观点,视图部分也采用c-m-v模式.
模型层具体是org.apache.struts2.components包及其子包
控制层是org.apache.struts2.views包和子包,主要含有jsp,freemarker,volicty视图控制技术
html视图一般来说只是需要表现出来,所以只有table标签有视图渲染在org.apache.struts2.componenets.table.renderer
首先是模型层:
模型包含了所有在视图展现中需要使用的标签或者逻辑数据
还包括table的模型
为了管理css主题在struts2.components.template里
可以根据thema=""改变所选css
JspTemplateEngine jspEngine = new JspTemplateEngine();
TemplateEngineManager tempEM = new TemplateEngineManager();
tempEM.registerTemplateEngine("jsp", jspEngine);
Template template = new Template("${user.home}/template", "jsp", "simple");
tempEM.getTemplateEngine(template, "jsp");
视图:
以jsp为介绍:struts2.views.jsp
根据被转发的结果类型:<result type="freemarker/velocity">选择相关视图,其他为jsp
所有jsp都ComponentTagSupport持有component模型对象, component被持有
然后根据jsptag标准方法进行数据解析,并直接写出到out对象。