etmvc中的视图对应MVC中的view,每个Action方法的返回类型决定了视图输出的类型,内置的几种视图是:
JspView
TextView
StringView
JsonView
FreeMarketView
BinaryView
如果Action方法返回void则将使用VoidView,VoidView将使用同JspView一样的处理方式,可以简单认为就是JspView。
关于etmvc的详细资料,请访问www.etmvc.cn
视图的渲染由相应的renderer对象完成。比如JspView有相应的JspViewRenderer,通过在JspView中使用@ViewRendererClass注解关联起来。
扩展视图很容易,我们以扩展JavaScriptView为例说明一下:
1、编写视图,需要继承View
@ViewRendererClass(JavaScriptViewRenderer.class)
public class JavaScriptView extends View{
private String js;
public JavaScriptView(String js){
this.js = js;
}
public String getJs() {
return js;
}
public void setJs(String js) {
this.js = js;
}
}
2、编写视图渲染类,需要继承AbstractViewRenderer
public class JavaScriptViewRenderer extends AbstractViewRenderer<JavaScriptView>{
public void renderView(JavaScriptView view, ViewContext context) throws Exception{
PrintWriter out = context.getResponse().getWriter();
out.print("<script>"+view.getJs()+"</script>");
out.close();
}
}
3、在视图类上应用注解,指定相应的渲染类
这样,自定义视图就完成了,可以在Action中使用了。
public class TestController extends ApplicationController{
public View index(){
JspView view = new JspView();
view.setAttribute("hello", "Hello,World,test index");
return view;
}
public View jstest(){
JavaScriptView view = new JavaScriptView("alert('abc');");
return view;
}
}
执行程序,打开浏览器,输入http://localhost:8080/test/test/jstest,可以看到显示'abc'的对话框。
分享到:
相关推荐
ExpandingStackCells, 在 iOS 9中,使用UIStackView扩展表视图单元 ExpandingStackCells使用栈视图创建扩展表视图单元的示例代码,在 iOS 9中引入。 什么是堆栈视图?UIStackView 是在 iOS 9中引入的一个视图。 它的...
它以垂直滚动形式展现,每组均可扩展显示子项,由ExpandableListAdapter负责数据绑定。适配器需继承BaseExpandableListAdapter,并实现getGroupView和getChildView关键方法来定制视图。此外,该控件允许自定义指示...
如何扩展视图 <br>来源:《SWT/JFace核心应用》随书光盘
【etmvc--MVC框架】是一个轻量级的Java开发框架,它采用了MVC(Model-View-Controller)设计模式,旨在简化Web应用程序的开发流程,提高代码的可维护性和可扩展性。这个框架以其简单易用的特点,使得开发者能够快速...
在Android开发中,"1.13 建立可扩展的集合视图"这个主题主要涉及到了如何高效地管理和展示大量数据集,特别是在用户界面(UI)设计中。传统的ListView或GridView等AdapterView虽然常见,但它们在处理大数据集和...
1. **MVC**:ETMVC的核心是MVC模式,它将模型、视图和控制器分离,使代码结构清晰,易于维护。 2. **ORM实现**:ETMVC提供了一个可选的ActiveRecord框架,用于数据库操作,可以独立于MVC在非Web应用中使用。 五、...
在这个场景中,我们将详细讨论如何使用LSMW来扩展物料主数据的工厂视图。 第一步,启动LSMW。在SAP GUI中输入事务代码LSMW,进入工作台。在初始屏幕上,你会看到多个选项,用于选择不同的数据加载过程。根据需求,...
2. 视图解析器接收到这个逻辑视图名,通过prefix和suffix进行扩展,生成实际的视图路径。 3. 使用生成的视图路径查找对应的视图资源,如JSP文件。 4. 如果找到视图资源,创建并返回一个View实例,这个实例负责渲染...
开发者可以快速构建复杂的业务逻辑,同时ETMVC的模块化设计也使得项目的扩展性和协作变得更加便捷。 【ExtJS框架解析】 ExtJS是一个强大的JavaScript库,用于创建富客户端的Web应用。它提供了丰富的组件库,包括...
本项目“ios-滚动视图扩展.zip”提供了一个GitHub仓库的完整下载,旨在帮助开发者深入理解和扩展滚动视图的功能。通过访问提供的链接(https://github.com/mengzhihun6/ScrollV-Demo.git),我们可以获取到相关的源...
综上所述,`fullCalendar`的年视图扩展使得这款日历插件更加实用,不仅满足了用户的多样化需求,也展示了JavaScript社区的创新精神。通过`fullcalendar-2.2.7-yearview`这个资源包,开发者可以轻松地将年视图整合进...
8. **视图扩展(View Extensions)**:可以扩展UIView及其子类,添加自定义的初始化方法、手势识别、动画效果等,以简化视图的配置和管理。 9. **错误处理(Error Handling)**:工具类中的方法可能会抛出错误,...
ExpandingTableView 扩展表视图单元格的框架。这是什么? 表格视图基础架构支持扩展单元。安装迦太基github " jozsef-vesza/ExpandingTableView "可可豆 use_frameworks!pod 'ExpandingTableView'用法基本支持扩展...
ios项目源代码 各种布局控件使用及扩展视图自定义UITableViewCell等源码合集: DTCoreText-1.6.10在UITextView上实现十分丰富的文字效果 ios三级展开列表TQMultistageTableView_10802 ios个性化每个...
然而,有时我们可能希望在同一个SDI应用中展示不同类型的视图,比如文本视图、图像视图或者图表视图。这种需求可以通过在MFC中实现多视图来解决。下面将详细解释如何在MFC的单文档视图中进行多种视图的切换。 首先...
《ExpandableSelectionView:打造极致用户体验的Android可扩展选择下拉视图》 在移动应用开发领域,用户体验是决定一款应用是否能成功的关键因素之一。Android平台提供了丰富的UI组件供开发者构建各种界面,但有时...
这个压缩包“091 ECharts扩展示例自定义视图_大屏幕展屏(html源码).rar”显然包含了一个关于ECharts自定义视图和大屏幕展示的实例,这将帮助我们深入理解如何在ECharts中创建自定义视图并将其应用于大屏幕显示。...
七、扩展阅读 在 MFC 中,还有许多其他的技术和方法可以实现对话框嵌入视图。例如,可以使用 CFormView 类,实现对话框嵌入视图的效果。此外,还可以使用其他的 GUI 库,例如 Qt、wxWidgets 等,实现对话框嵌入视图...
18个ios项目源代码各种布局控件使用及扩展视图自定义UITableViewCell。 实现各种样式的表格输入界面、自定义TabBar的文字、颜色和图片加箭头、列表个性化列表项、IOS欢迎界面等。 18个ios项目源代码各种布局控件使用...
这个压缩包“ IOS应用源码——UITableViewCell 视图扩展.zip”很可能包含了一些自定义扩展,使得UITableViewCell能够拥有更丰富的视图效果和交互功能。在iOS应用设计中,对UITableViewCell的自定义扩展是非常常见的...