博文

基本表单标签(2007-03-13 10:23:00)

摘要:html:form form标记用于生成HTML 的 <form>标记,该标记与Action对象及struts-config.xml文件中对应的FormBean相连 method属性默认为post html:text html:cancel cancel标记与submit标记都实现表单提交功能,不同点在于他添加了一个传递参数org.apache.struts.taglib.html.CANCEL=”Cancel”。 html:reset html:submit html:hidden 只能在html:form标记中嵌套使用......

阅读全文(1528) | 评论:0

HTML标记库 - HTML基本元素标签(2007-03-13 10:22:00)

摘要:html:html server <html:html lang=”true”> client <html lang="zh-CN">   html:base server: <html:base /> <%=request.getServerName()%> client: <base href="http://localhost/123/taglib/html/test1.jsp"> localhost   html:link html:link page使用相对与此应用程序的路径,而不是相对于服务器的相对路径,且与是否使用html:base无关 添加参数有三种方法 1.  直接添加 2.  使用paramId和paramName属性,如果是使用Bean则需同时使用paramName和paramProperty指定参数。 3.  定义一个Map,将此Map赋值给name属性作为变量参数 html:rewrite 用法和html:link一样,只是他直接跳转,而html:link给你一个链接,点击链接后才跳转 html:img 如果使用page属性指定图片位置,则此位置是相对于应用程序的位置,如果使用src则是相对于服务器的位置。 height和width属性可以对图片进行缩放。 可以传参,方法跟html:link相同。 使用示例 test1.jsp: <%@ page language="java" pageEncoding="UTF-8"%>   <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <%@ taglib uri="http://struts.apac......

阅读全文(2489) | 评论:0

HTML标记库 - html常用标记属性(2007-03-13 10:21:00)

摘要: 属性 说明 接受Scriptlet 必需 accessKey 指定键盘键,当按下该键时,使控件立刻获得焦点 是 否 alt 指定控件替代文本 是 否 altKey struts 资源束的一个关键字,功能跟alt相同 是 否 disabled 设置为true时表示不启用他 是 否 onblur 指定当控件失去输入焦点时执行的JavaScript代码 是 否 onchange 指定当控件失去输入焦点且其值发生改变时执行的JavaScript代码 是 否 onclick 指定当控件接受到鼠标单击事件时执行的JavaScript代码 是 否 ondbclick 指定当控件接受到鼠标双击事件时执行的JavaScript代码 是 否 onfocus 指定当控件获得焦点时执行的javaScript代码 是 否 onkeydown 指定在控件获得焦点的情况下按下一个键时执行的javaScript代码 是 否 onkeypress 指定在控件获得焦点的情况下按下并释放一个键时执行的javaScript代码 是 否 onkeyup 指定在控件获得焦点的情况下释放一个键时执行的javaScript代码 是 否 onmousedown 指定当鼠标指针指向该控件的情况下按下鼠标按扭时执行的javaScript代码 是 否 onmousemove 指定当鼠标指针指向该控件的情况下移动鼠标按扭时执行的javaScript代码 是 否 onmouseout 指定当鼠标指针指向该控件的情况下将鼠标移离该控件时执行的javaScript代码 是 否 onmouseover 指定当鼠标指针没有指向该控件的情况下将鼠标移向该控件时执行的javaScript代码 是 否 onmouseup 指定当鼠标指针指向该控件的情......

阅读全文(2065) | 评论:0

struts-config-1.1.DTD祥解(2007-03-13 10:08:00)

摘要:struts-config-1.1.DTD:
<!--
     DTD for the Struts Application Configuration File, Version 1.1      To support validation of your configuration file, include the following
     DOCTYPE element at the beginning (after the "xml" declaration):      <!DOCTYPE struts-config PUBLIC
       "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
       "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">      $Id: struts-config_1_1.dtd 51429 2004-02-17 05:51:48Z martinc $
-->
<!-- ========== Defined Types ============================================= -->
<!-- An "AttributeName" is the identifier of a page, request, session, or
     application scope attribute.
-->
<!ENTITY % AttributeName "CDATA">
<!-- A "BeanName" is t......

阅读全文(1595) | 评论:0

RequestProcessor的process()方法(2007-03-13 10:07:00)

摘要:    /**
  * <p>
  * Process an <code>HttpServletRequest</code> and create the corresponding
  * <code>HttpServletResponse</code>.
  * </p>
  *
  * @param request
  *            The servlet request we are processing
  * @param response
  *            The servlet response we are creating
  *
  * @exception IOException
  *                if an input/output error occurs
  * @exception ServletException
  *                if a processing exception occurs
  */
 public void process(HttpServletRequest request, HttpServletResponse response)
   t......

阅读全文(3657) | 评论:0

MessageResources 资源包 Locale 国际化(2007-03-13 10:06:00)

摘要: Java内置的国际化功能以三个类为中心。
类 说明
Java.util.Locale 封装一种特定的语言环境
Java.util.ResourceBundle 封装特定于语言环境的资源束
Java.text.MessageFormat 提供格式化资源束信息的方法
以下介绍每个类:
1. java.util.Locale类:
Locale类封装一种特定的语言环境。所有其他面向语言环境的类使用Locale类的实例来定制它们针对某种特定语言环境的输出和表达方式。
创建Locale类的对象时,可以指定环境的语言、国家和变体。
构造函有数如下三种:
Locale(String language)
Locale(String language,String country)
Locale(String language,String country,String variant)
language参数必须使用有效的双字母ISO-639语言代码指定,eg:”en”表英语,”es”表西班牙语。
country参数必须使用有效的大写双字母ISO-3166国家代码指定,eg:”US”表示美国。
variant参数用来指定特定于供应商或浏览器的代码eg:”WIN”表示Windows,”MAC”表示Macintosh。
有关语言代码和国家代码参见网站说明:
http://www.unicode.org/unicode/onlinedat/language.html
http://www.unicode.org/unicode/onlinedat/country.html
注意:
1. Locale对象是不可变的,一旦创建,他的属性不能被改变。如果需要改变属性,则须重新创建一个新的Locale实例。
2. 为了方便起见,Locale提供了一些的代表国家和语言的静态属性变量。请参见相关API。
2. java.util.ResourceBundle类:
封装了特定语言环境的资源束。从本质上来说,ResourceBundle是一个中心信息库,应用程序用它来存取资源。

阅读全文(3838) | 评论:0

form bean(2007-03-13 10:03:00)

摘要: 初级:
ActionForm:
reset()是一种钩子方法,Struts在使用提交的HTML表单填充Form Bean 前会调用该方法。
validate()也是一种钩子方法,Struts在使用提交的HTML表单填充Form Bean 后会调用该方法。
Form Bean 的属性可以是任何对象类型。Struts负责类型转换。最好将Form Bean 字段设置为 String 而不是去他的类型,这是因为所有的HTML表单数据都以字符串的形式输入。如果将数据存储在 Long 中,当Struts试图将字符串值转换成数字时,如果该值为字符将会庖厨NumberFormatException。当表但再次显示时,显示的无效数据为0而不是原来输入的字符串,这是因为字母不能存储在数字类型字段中。
对于每一个客户请求,Struts framework在处理ActionForm的时候,一般需要经历如下几个步骤:
(1)检查Action的映射,确定Action中已经配置了对ActionForm的映射
 (2)根据name属性,查找form bean的配置信息
 (3)检查Action的formbean的使用范围,确定在此范围下,是否已经有此form bean的实例。
 (4)假如当前范围下,已经存在了此form bean的实例,而是对当前请求来说,是同一种类型的话,那么就重用。
 (5)否则,就重新构建一个form bean的实例
 (6)form bean的reset()方法备调用
 (7)调用对应的setter方法,对状态属性赋值
 (8)如果validatede的属性北设置为true,那么就调用form bean的validate()方法。
(9)如果validate()方法没有返回任何错误,控制器将ActionForm作为参数,传给Action实例的execute()方法并执行。否则将生成ActionErrors并将其保存在request scope范围里,request自动跳转到有mapping里的input属性指定的页面。
注意:直接从ActionFrom类继承的reset()和valida......

阅读全文(5902) | 评论:0

exception异常处理(2007-03-13 10:02:00)

摘要: 异常处理
struts1.1以前的版本中Struts应用程序的异常处理与大多数其他应用程序一样,在代码中需要用try/catch语句处理每个异常。但如果多个地方需要进行相同的异常处理则会产生代码冗余。struts1.1提供了很小但非常有效的声明式异常处理机制。
 配置异常处理:
可以创建全局性的异常处理程序定义和针对某个操作的处理程序定义。定义中用type属性指定要处理的异常,用key属性指定资源束中关于此异常的一条信息,用path指定该异常发生时要转至的页面。举例如下:
struts-config.xml:
  <action-mappings >
    <action
      attribute="myExceptionForm"
      input="/exception/failure.jsp"
      name="myExceptionForm"
      path="/myException"
      scope="request"
      type="com.yourcompany.struts.action.exception.MyExceptionAction"
      validate="true">
      <exception
        key="error.exception.length"
        path="/exception/exceptio......

阅读全文(2563) | 评论:0

ActionServlet源代码学习(2007-03-13 10:00:00)

摘要:ActionServlet.java(struts1.2.9)
/*
 * $Id: ActionServlet.java 264684 2005-08-30 03:08:01Z niallp $
 *
 * Copyright 2000-2005 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */ package org.apache.struts.action; import java.io.IOException;
import java.io.InputStream;
import java.math.BigDe......

阅读全文(5223) | 评论:0

ActionServlet的init()方法(2007-03-13 09:58:00)

摘要:
//struts1.1
    public void init() throws ServletException {
  /*
   1. Initialize the framework’s internal message bundle. These messages are used to
   output informational, warning, and error messages to the log files. The
   org.apache.struts.action.ActionResources bundle is used to obtain
   the internal messages.
   调用initInternal()方法,初始化struts框架内在的消息资源,如与系统日志相关的通知、警告和错误信息。
   */
        initInternal();
        /*
         2. Load the initialization parameters from the web.xml file that control various
   behaviors of the ActionServlet. These parameters include config, debug, and
   convertNull. For information on how these and other servlet
   parameters affect the behavior of an application.
   调用in......

阅读全文(3346) | 评论:0