`

EWeb4j-1.b.6.5 新的特性介绍—mvc action篇

阅读更多
(1) Controller支持以下约定:
action方法不填写注解RequestMapping的时候,默认以方法名为url-mapping值。
action 方法返回类型为void的时候框架不做任何跳转处理。
缺省返回值忽略大小写。例如ajax。
类名如果以“Controller”,“Control”,“Action”结尾的话,可以不用添加@Controller注解,框架也能识别为控制器。
这里有个最新的例子:
package test.controller;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import test.po.Pet;
import com.cfuture08.eweb4j.mvc.annotation.Param;

/**
 * this is a pojo action test
 * 
 * 约定代替配置,可以看到整个action类真正实现0配置! 方法名——> URL访问映射。 属性名——>URL参数名
 * 类名以Controller、Control、Action结尾的框架以控制器处理。
 * 
 * 并且action类兼容Struts2和SpringMVC3的写法。
 * 
 * @author weiwei
 * 
 */
public class ZeroConfigAction {

	/**
	 * 从当前会话中获取输出对象进行页面打印。 只需要声明即可,框架会自行注入。
	 * 返回类型为void、返回值为ajax(忽略大小写)、null的时候,访问action后,框架不会做任何跳转。
	 * 
	 * @param out
	 */
	public void sayHello(PrintWriter out) {
		out.print("Hello!");
	}

	/**
	 * 重定向跳转
	 * 
	 * @return
	 */
	public String testRedirect() {
		return "redirect:sayHello";
	}

	/**
	 * 服务端跳转
	 * 
	 * @return
	 */
	public String testForward() {
		return "index.jsp";// or "forward:index.jsp"
	}

	/**
	 * pojo action 的属性与url属性绑定,同时方法参数传递(框架实现)
	 * 
	 * @param out
	 */
	public void testPojoParam(PrintWriter out) {
		out.print(info);
	}

	/**
	 * 当pojo action 的属性是pojo的时候,支持无限嵌套的参数绑定。 当然,方法的参数是pojo这种情况也是一样的。
	 * 
	 * @param out
	 * @param fuck
	 */
	public void testPojoParamAndUrlParam(PrintWriter out,
			@Param("fuck") String fuck) {
		out.print("fuck-->" + fuck + "pet.master-->" + pet.getMaster());
	}

	/**
	 * pojo action 的属性有四个缺省值,只要声明+setter&getter方法。框架就会在运行时刻实例化它们,并且传入当前会员的上下文。
	 * 这四个参数是:HttpServletRequest,HttpServletResponse,PrintWriter,HttpSession
	 */
	public void testOut() {
		out.print("out-->" + info);
	}

	// ------------------------------------------------------
	private Pet pet;
	private String info;
	private HttpServletRequest req;
	private PrintWriter out;
	public String getInfo() {return info;}
	public void setInfo(String info) {this.info = info;}
	public Pet getPet() {return pet;}
	public void setPet(Pet pet) {this.pet = pet;}
	public HttpServletRequest getReq() {return req;}
	public void setReq(HttpServletRequest req) {this.req = req;}
	public PrintWriter getOut() {return out;}
	public void setOut(PrintWriter out) {this.out = out;}
}

(2)mvc中,为了改进性能,将Class.forName(ActionBeanName),改为缓存方式调用。这样省去了lookup的过程,效能会提升。当系统需要应对高并发的时候,很有效。
(3)废除了formBean的配置,框架自动识别pojo参数,并且支持无限嵌套pojo属性。无需任何配置。

约定优于配置、零配置将会是这个版本较重要的关注点,但不是唯一的。

待续......
2
2
分享到:
评论

相关推荐

    eweb4j

    - **MVC架构**:eweb4j基于Model-View-Controller设计模式,将业务逻辑、数据处理和用户界面分离,有助于提高代码的可复用性和可测试性。 - **依赖注入**:框架支持依赖注入(DI),使得组件之间松耦合,便于管理...

    1756-EWEB.pdf

    1756-EWEB

    Python库 | eweb-0.0.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:eweb-0.0.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    eweb.rar_MVC C语言_c语言实现MVC_http server_mvc_mvc serv

    标题"eweb.rar_MVC C语言_c语言实现MVC_http server_mvc_mvc serv"中,我们可以推断这是一个基于C语言实现的MVC(Model-View-Controller)架构的HTTP服务器项目,名为"eweb"。"MVC"是一种软件设计模式,常用于构建可...

    eweb4j最新版本src[附带需要的jar]

    在本篇文章中,我们将深入探讨`eweb4j`的最新版本以及其核心特性。 首先,`eweb4j`的源代码开放性是其一大亮点。`eweb4j`的最新src(源代码)包含在提供的压缩包中,这意味着开发者可以直接阅读和理解框架的内部...

    java猜数字源码-eweb4j-framework:简单的Java网络框架

    EWeb4J ? = EWeb4J 是一个基于 Servlet/Jdbc 构建的轻量级 Java Web 开发框架。它可以代替 SSH 来开发一个完整的 Web 应用程序。 它专注于 少侵入、少配置、松耦合、RESTful架构风格的 Web 应用程序开发。 EWeb4J ...

    java开源框架下载集合

    EWeb4J支持多种数据库,并提供了强大的表单验证功能,使得开发者可以轻松创建复杂的数据驱动型Web应用。 #### 3. Spring Roo 1.2.1 **下载链接**: ...

    1756-eweb手册

    Rockwell 1756-Eweb模块

    eweb.rar_eweb_editor

    《EWeb编辑器2.80:打造高效网页创作利器》 EWeb编辑器,全称为"EWeb Editor",是一款专业且用户友好的网页编辑工具,尤其以2.80版本备受好评,被誉为“绝对好用”。这款编辑器旨在简化网页制作流程,提升开发效率...

    C9静态文章发布系统 v2.1.1.rar

    4.管理员分级,增加信息员权限,信息员只能添加信息. 修复 1. 网站留言错误 2.1-2.1.1升级文件: 升级步骤: 上传eweb目录 ,删除fck目录 覆盖cache/version.txt 文件. 覆盖admin目录,fun目录

    一个很好的eweb编辑器

    在描述中提到的“eweb编辑器 要改下db中的后缀为asp”,这可能是指在使用eweb编辑器进行网站开发时,需要将数据库连接文件或动态页面文件的扩展名从原本的格式更改为ASP(Active Server Pages)格式。ASP是一种微软...

    MyPHP Explorer(Web文件在线管理) 修改版.rar

    B. 文件/目录的删除、移动、重命名 C. 新建目录 D. 多文件的上载 E. 文本型文件(.php, .html, .txt 等)的编辑 F. 图片及 falsh 文件的即时浏览 G. 文件下载  新增功能: H.多媒体编缉文件(绑定...

    eWeb.rar_eWeb Editor Clie_eWebEditor_eweb editoi_文本修改器_文本编辑器

    《eWeb Editor客户端:在线文本编辑器的深度解析与应用》 eWeb Editor是一款功能强大的在线文本编辑器,尤其在Web开发领域中被广泛应用。它以其便捷的操作界面和丰富的编辑功能,为网络编程人员提供了极大的便利。...

    免费友情链接网自动收录

    3.新闻栏目eweb编辑器与IE7、IE8不兼容的问题解决! 4.特别提醒所有客户,网站上传后一定要修改data下在数据库名(改了数据库名,要改conn.asp和adminmaster/conn.asp和iP/conn.asp)! 5.后台管理地址也建议修改,就是...

    在线编辑器(eweb)应用实例

    总结,EWeb在线编辑器应用实例是一个全面的学习资料,涵盖了从基础编辑功能到高级特性的方方面面。通过深入学习和实践,你可以快速上手并精通这款强大的Web开发工具,为你的Web项目增添效率和便利。

    hugo-spectrum:使用 Adob​​e 珊瑚光谱的雨果主题

    Adobe Coral Spectrum 雨果主题Hugo 主题使用 Adob​​eWeb 组件遵循光谱设计模式。用法有关示例文档网站,请参阅 。 现场演示可从以下获得: : 维护者通知测试exampleSite使用本地主题使用本地主题运行站点,即--...

    eweb 网页编辑器

    1. **所见即所得(WYSIWYG)编辑**:eweb提供了一个直观的界面,用户可以直接在编辑器中看到网页的实际效果,如同使用Word文档一样编辑网页,大大降低了学习曲线。 2. **丰富的文本格式化**:支持字体大小、颜色、...

    eWebEditor V6.2 for ASP(完整带后台版)

    2:13:1:1:1::ewebeditor.net:4e3cdbe7a6c7f97f3e02db5623432a05 后面的是32位MD5 如何组合不得而知 现在就是看哪位高手打开dll看看里面的奥妙! 如果有发现可E-mail:pinluo.com#163.com(把#换成@)

    [MMS_041397]Reading CLX_val using EWEB.rar

    【标题解析】:“[MMS_041397]Reading CLX_val using EWEB.rar”这个标题可能指的是一个关于使用EWEB工具读取AB PLC(Allen Bradley Programmable Logic Controller)中的CLX(可能是ControlLogix系列)寄存器或变量...

    enet-at002_-cn-p通信篇socket(案例文件夹中有程序)果).zip

    文件"Socket_Feature_1756_EWEB.ACD"可能是另一个相关文档,可能深入讨论了1756系列PLC的以太网特性,特别是关于EWEB(Ethernet Web Server)的部分,这允许通过网页浏览器访问和控制PLC。 总的来说,这个压缩包...

Global site tag (gtag.js) - Google Analytics