演示: Action页面保存用户名: session.put(“name”,”values”);
         JSP页面获取用户名: ${sessionScope.name}

都好难找.

6. Struts 2 标签

MS Chart 針對多個Series以及自訂X軸Group樣式

這次接到客戶要求說,要顯示各機台狀況以及顯示機台與站點間X軸Group的顯示,而每個機台又必須區分顏色出來。

沒寫過,所以研商了一下MS Chart咋样運用。

然後發現ChartType必須使用SeriesChartType.StackedColumn,才能達到一個X軸刻度來重疊Series來顯示(這個我找好久,果然不熟MS
Chart,物件太多了)

下圖是這次運用到作法山姆ple Chart。

图片 1 

Step.1 必須先動態建立好Series至Chart物件中

01 //先動態產生Series
02 for (int i = 0; i < 8; i++)
03 {
04     Series series = new Series("DATA" + i.ToString());
05     series.Color = Color.FromArgb(rnd.Next() % (255 - 0 + 1) + 0,
06         rnd.Next() % (255 - 0 + 1) + 0,
07         rnd.Next() % (255 - 0 + 1) + 0); //亂數定義Series顏色
08  
09     series.ChartType = SeriesChartType.StackedColumn;
10     this.Chart1.Series.Add(series);
11 }

Step.2 再將各個Series参加資訊。

*注意:因為假設一筆資料都要區分不同顏色必須各自填入各自的Series。

01 //填入Series資訊       
02         for (int i = 0; i < Chart1.Series.Count; i++)
03         {
04             for (int j = 0; j < Chart1.Series.Count; j++)
05             {
06                 if (i == j)
07                 {
08                     Chart1.Series[i].Points.AddXY(i.ToString(), i * 5);
09                 }
10                 else
11                 {
12                     Chart1.Series[i].Points.AddY(0); //如果不要產生該Point資訊時,就先資訊設為0
13                 }
14             }
15         }

Step.3 再動態加作客製化的X軸。

 

 

1 //X軸作Group設定
2         Chart1.ChartAreas[0].AxisX.CustomLabels.Add(0.5, 4.5, "A", 1, LabelMarkStyle.LineSideMark);
3         Chart1.ChartAreas[0].AxisX.CustomLabels.Add(4.5, 8.5, "B", 1, LabelMarkStyle.LineSideMark);

 

 

Step.4 插足Legend,顯示右方Series資訊列

 

1 //設定Legend
2         Legend legend = new Legend("TEST Legend");
3         legend.Docking = Docking.Right;
4         legend.Alignment = System.Drawing.StringAlignment.Center;
5         Chart1.Legends.Add(legend);

 

 

以上就完事上列山姆ple Chart

5. Struts2访问servletAPI对象


 

改 Legend 属性就可以了,只要简单加一个 item 就行了.

【使用Map对象替代ServletAPI中的HttpServletRequest, HttpSession和
ServletContext】

坐标则是 ChartArea 控制

1)
编写开发处理请求的Action类,并落实具体的处理请求的办法,该模式需要重临一个字符串类型的结果【action类,
extends ActionSupport】
2) 编写struts.xml文件,对Action举办部署【位于src的根目录下】
3) 编写与Action相关的JSP页面

http://www.dotblogs.com.tw/joo3360/archive/2010/10/05/18127.aspx

  • 4.2 代码编写
  • 5.1
    使用ActionContext类获取ServletAPI对象对应的MAP对

 

  • 5.2 struts2 向Action
    注入ServletAPI对象对应的Map对象
  • 5.3 与Servlet
    API耦合的走访模式

6.2 通用标签: 条件标签 <s:if> <s:elseif> <s:else>
迭代标签: <s:iterator>

4. Struts2 的应用

1) 获得request参数 【get()】
ActionContext ac = ActionContext.getContext();
Map request = (Map)ac.get(“request”);

2) 获取对象的HttpSession对象的Map对象【getSession()】
Map session = ActionContext.getContext().getSession();

1. 什么是Struts2
struts2是以WebWork的规划思想为主干,吸收了Struts1的一部分有点,建立了配合WebWork和Struts1的MVC框架。

3) 获取相应的ServletContext对象的Map对象 【getApplication()】
Map app = ActionContext.getContext().getApplication();

2. struts的利弊
【优点】
2.1. 兑现MVC形式,结构清晰,使开发者只关心工作逻辑的实现.
2.2. 有加上的tag可以用
,Struts的标记库(Taglib),如能灵活运用,则能大大提升开发效能。其余,就当前境内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起源。
2.3.
页面导航.页面导航将是然后的一个提高趋向,事实上,这样做,使系统的脉络更加清晰。通过一个安排文件,即可把握总系列统各部分之间的维系,这对于前期的掩护有着惊人的功利。尤其是当另一批开发者接手这些类别时,这种优势彰显得尤为明确。
2.4. 提供Exception处理机制 .
2.5. 数额库链接池管理
2.6. 支持I18N
【缺点】
2.1
转到显示层时,需要安排forward,每两次转到体现层,相信大部分都是一贯转到jsp,而关系到转会,需要安排forward,即使有十个展现层的jsp,需要配备十次struts,而且还不包括有时候目录、文件变更,需要再度修改forward,注意,每一趟修改配置之后,要求重新部署整个项目,而tomcate那样的服务器,还非得再一次起动服务器,假设工作转移复杂频繁的连串,这样的操作简单不可想像。现在就是这么,几十过四个人同时在线使用咱们的系统,大家能够想象一下,烦恼有多大。
2.2 Struts
的Action必需是thread-safe情势,它独自允许一个实例去处理所有的呼吁。所以action用到的兼具的资源都少不了统一联合,这么些就挑起了线程安全的题目。
2.3 测试不方便.
Struts的各样Action都同Web层耦合在联合,这样它的测试看重于Web容器,单元测试也很难实现。可是有一个Junit的恢宏工具Struts
TestCase可以兑现它的单元测试。
2.4 类型的转换.
Struts的FormBean把具备的多寡都当做String类型,它可以运用工具康芒斯(Commons)-Beanutils进行项目转化。但它的转折都是在Class级别,而且转化的系列是不可配置的。类型转化时的错误音信重临给用户也是分外拮据的。
2.5 对Servlet的借助过强. Struts处理Action时必需要倚重ServletRequest
和ServletResponse,所有它摆脱不了Servlet容器。
2.6
前端表明式语言方面.Struts集成了JSTL,所以它最重要使用JSTL的表达式语言来获取数据。不过JSTL的表明式语言在Collection和索引属性方面处理显得很弱。

标签分为两类: UI标签(UI Tag) 和通用标签 (Generic Tag)
<%@taglib uri=”/struts-tags” prefix=”s” %>

 

3. Struts2 的获取
http://struts.apache.org

6.1 UI标签: 表单标签、非表单标签、Ajax标签
<s:form></s:form> <s:textfield></s:textfield>
……

1.1 WebWork: 强调系统里面的松耦合,使用拦截器来促成控制。
不依赖于web容器,
从而解决了框架对ServletAPI的一体耦合,使得测试更加便于。同时,在显示层援助更多的视图技术,开发更灵活。

  • 4.1 确认环境

1) 在档次中引入Struts2 jar包
struts2-core xwork-core ognl fremarker javassist commons-fileupload
commons-io Commons-lang
2) 修改工程的web.xml文件,配置过滤器

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图