struts 心得(二)

总结:

struts.xml 中的package的name可以随意定义,只做继承时使用。

<package name="..." abstract="true">

该包中不能有action定义,只能通过包来继承来定义

为了使程序使用起来方便快捷,就要学会struts的路径动态调用代码如下:

<action name="a_*" class="action.submit"  method="{1}">
  <result name="{1}">/{1}.jsp</result>
</action>

  这样的方法便可以自动寻找java类中的指定方法

public String a(){
    system.out.print("1");
  return "a";
}

  

<a href="a_a"></a>

  

注意事项:

这个方法要求是jsp页面,java中的方法,java中方法的返回值,必须是同一个。

如果不是就会出现404这样的错误会经常出现

同时注意自定义的表单域别重名了

经验总结:

FilterDispatcher ----- 核心控制器

每个action ------- 业务控制器

<s:fielderror cssStyle="color:red">
<s:param>username</s:param>
< /s:fielderror>

去掉前面的“原点”,需要自己修改 fielderror.ftl模板,去掉前面的点代码

写struts2的事情时,在return中,切记SUCCESS等是在Action中定义的,它是一个常量,如果写成了"SUCCESS"这个字符串字面值。如果写成了字符串字面值,在需要在<resutl name="你的字符串字面值">xxx.jsp or xxx.html</result>

jsp页面要开头处要添加:  <%@ taglib prefix="s" uri="/struts-tags" %>

关于在<s:property value="xx" />中显示HTML格式的内容时。请使用escape属性来决定是否解析HTML格式的内容。

时间: 2024-08-06 16:40:38

struts 心得(二)的相关文章

.net基础の心得二

方法的重写  和方法的重载 签名指的是 (方法的名称   参数的数目  参数的数据类型和顺序  参数的修饰符 返回的类型不是签名的一部分 ,而认为它是签名的一部分这个观点是错误的 形参的名称 也不是签名的一部分) 方法的重载 在同类或者是子类和父类中 方法的名称一致 但是参数列表中的个数或者数据类型不同  那么就构成重载 重载多次 以适应不同的需要 重载(overload)是面向过程的                  Override 是进行基类中函数的重写.Override 是面向对象的概念

Android studio使用心得(二)— 打包签名apk发布

1.—–Android Studio菜单   Build->Generate Signed APK 2.——Create new.. 3.——-跟eclipse里面一样,添加keystore 信息 4.————Finish   搞定收工! 0 您可能也喜欢: Android studio 使用心得(四)---android studio 多渠道打包(二) Android studio 使用心得(五)---代码混淆和破解apk Android studio 使用心得(一)---android st

初学struts心得体会

一开始使用struts我也是拒绝的,因为它几乎全是配置文件,让我无从下手,在渐渐地上手以后才发现正是由于有这些配置文件才让整个系统各部分之间的相互联系,这对于后期的维护有着莫大的好处.尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显.如下图所示任意打开一个项目的struts.xml Package name就如java类的新建的package,只是相当于放到不同的包里,唯一不同的一点是struts.xml 中的package对拦截器有影响,拦截器在哪个package下不特别说明的话只能

struts 心得(一)

struts 简介 总结: 使用 Struts 时,此框架将为您提供一个控制器 Servlet (ActionServlet),它在 IDE 中包含的 Struts 库中定义,并自动在 web.xml 部署描述符中注册,如下所示.该控制器 Servlet 使用 struts-config.xml 文件将传入请求映射到 Struts Action 对象,并实例化与暂时存储窗体数据的操作相关联的任何 ActionForm 对象.Action 对象在使用窗体 Bean 中存储的任何数据的同时,使用其 

svg 学习心得二 时钟的画法

一.设计思路 1.首先画一个时钟的底盘 显示最外层的圆 然后是内层的圆环 再是分钟刻度的点 这个点的实现是通过svg的stroke-dasharray属性实现的 2.接下来是时针,分针,秒针 1.这时候你可以用直线,也可以用折线,他们都需要一个起点,一个终点,你可以把整个圆的圆心作为这些针的起点或终点,不过最好要统一.在这里我将圆心作为了终点 2.时针点的计算 时针上的起点,其实也是一个内层圆上的点,这样说的话可能就比较好理解了 时针起始位置的计算 在这里我是从浏览器当前时间开始的,通过当前时间

Pechkin使用心得(二)

完成Pechkin使用心得(一)的内容后.下面正式进入代码实现的阶段. 在项目中引用Pechkin.dll与Pechkin.Synchronized.dll后编写以下示例代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System

LoRaWAN调试踩坑心得(二)

先说两句 抱歉,由于工作原因和个人原因,中间停更了这么久.接下来,本人会继续往下更,内容包括但不仅限于LoRa.文章还是会按照个人的习惯,坚持原创,一是作为自己的笔记,二是和广大工程师分享交流. LoRaWAN的定义是一种用于Low power,long range应用场景的无线通讯协议,所以关键的部分就有两个:1.低功耗 2.远距离 其中远距离目前是有LoRa这种无线通讯方式来完成,因为其再参数上具有-148db的超低灵敏度,使其具有在同发射功率下的更远的通讯距离 然后就是低功耗.下面我来讲讲

深入理解Java虚拟机阅读心得(二)

垃圾收集 程序计数器.虚拟机栈.本地方法栈三个区域随线程而生,随线程而灭:这几个区域的内存分配和回收都具备稳定性,不需要过多的考虑回收的问题.而Java堆和方法区则不一样. Java堆中存储了几乎所有的对象实例,垃圾收集器进行对堆的回收之前,需要判断这些对象是否还存活 一.判断对象是否存活 判断对象是否还活着,主要有两种方法 1.引用计数法 给对象添加一个引用计数器,每当一个地方引用时,计数器值加1: 每当一个引用失效时,计数器减1: 任何计数器为0的对象为不可能被使用的对象. 优点:实现简单,

Struts(十二):异常处理:exception-mapping元素

配置当前action的声明异常处理 1.exception-mapping元素中有2个属性 exception:指定需要捕获的异常类型 result:指定一个响应结果,该结果将在捕获到异常时被执行.即可以来自当前action的声明,也可以来自global-results声明. 2.可以在视图上通过<s:property>标签显示异常消息. 可以通过global-exception-mappings元素为应用程序提供一个全局性的异常捕获映射. 1.但在global-exception-mappi