(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属性。无需任何配置。
约定优于配置、零配置将会是这个版本较重要的关注点,但不是唯一的。
待续......
分享到:
相关推荐
资源分类:Python库 所属语言:Python 资源全名:eweb-0.0.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
eweb4j
EWeb4J ? = EWeb4J 是一个基于 Servlet/Jdbc 构建的轻量级 Java Web 开发框架。它可以代替 SSH 来开发一个完整的 Web 应用程序。 它专注于 少侵入、少配置、松耦合、RESTful架构风格的 Web 应用程序开发。 EWeb4J ...
C语言实现MVC模式的Http server。
eweb4j 最新的src 需要的jar包也都在其中. 可以读eweb4j的源代码 不必在网页上那样麻烦
Rockwell 1756-Eweb模块
4.管理员分级,增加信息员权限,信息员只能添加信息. 修复 1. 网站留言错误 2.1-2.1.1升级文件: 升级步骤: 上传eweb目录 ,删除fck目录 覆盖cache/version.txt 文件. 覆盖admin目录,fun目录
B. 文件/目录的删除、移动、重命名 C. 新建目录 D. 多文件的上载 E. 文本型文件(.php, .html, .txt 等)的编辑 F. 图片及 falsh 文件的即时浏览 G. 文件下载 新增功能: H.多媒体编缉文件(绑定...
3.新闻栏目eweb编辑器与IE7、IE8不兼容的问题解决! 4.特别提醒所有客户,网站上传后一定要修改data下在数据库名(改了数据库名,要改conn.asp和adminmaster/conn.asp和iP/conn.asp)! 5.后台管理地址也建议修改,就是...
Adobe Coral Spectrum 雨果主题Hugo 主题使用 AdobeWeb 组件遵循光谱设计模式。用法有关示例文档网站,请参阅 。 现场演示可从以下获得: : 维护者通知测试exampleSite使用本地主题使用本地主题运行站点,即--...
2:13:1:1:1::ewebeditor.net:4e3cdbe7a6c7f97f3e02db5623432a05 后面的是32位MD5 如何组合不得而知 现在就是看哪位高手打开dll看看里面的奥妙! 如果有发现可E-mail:pinluo.com#163.com(把#换成@)
ewebeditor2.80最终版,绝对好用
eweb编辑器 要改下db中的后缀为asp
ASP常用的后台编辑器,带图片上传功能 调用方法如下例子: ...iframe ID="eWebEditor1" src="../eWebEditor/ewebeditor.htm?id=nr frameborder="0" scrolling="no" width="700" HEIGHT="440"></iframe>
网络编程eWebEditor在线文本编辑器飞鱼修改版源码.rar
在线编辑HTML,使用户方便使用编码在线编辑HTML,使用户方便使用编码
包含了致远OA A6 用户敏感信息泄露、Apache_Druid_Log4shell_CVE_2021_44228、Apache_JSPWiki_Log4shell_CVE-2021-44228、VMware_NSX_Log4shell_CVE_2021_44228、VMware_vCenter_Log4shell_CVE_2021_44228_1、Wayos ...
在线编辑器应用实例,方便大家学习,有完整的数据库和调用过程,参数说明说细
eWeb editor编辑器文件,说明,使用方法:将解压后的editor文件夹拷贝到项目根目录下,在需要的页面中加入以下内容: 办事内容:</font></td> <iframe id="eWebEditor1" src="../../editor/...
让 AsciiDoc 成为您的文学编程工具集的一部分。 使用 eWEB,您可以使用嵌入的 WEB 代码片段编织和缠结作为 AsciiDoc 文档编写的文字程序。