`
stworthy
  • 浏览: 526161 次
  • 来自: ...
社区版块
存档分类
最新评论

扩展etmvc的视图

阅读更多

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'的对话框。

 

分享到:
评论
1 楼 LewJun 2012-10-09  
mark.

相关推荐

    ThinkPHP6.0.5框架多应用模式简单测试(验证码扩展+视图扩展)

    该ThinkPHP版本主要是简单测试了TP的多应用模式 代码分了前后台目录 后台是admin 前台是index,并可通过 模型/控制器/方法 来访问。集成了验证码扩展+视图扩展,当然多应用模式也在其中已集成好。

    MVC,CRUD com实体框架,异步等待,扩展,视图模型,编辑器视图模型,Tratando错误

    标题中的"MVC,CRUD com实体框架,异步等待,扩展,视图模型,编辑器视图模型,Tratando错误"涉及了多个关键的ASP.NET MVC开发中的概念和技术。以下是对这些知识点的详细说明: 1. **MVC(Model-View-Controller)*...

    可扩展列表视图示例演示

    它以垂直滚动形式展现,每组均可扩展显示子项,由ExpandableListAdapter负责数据绑定。适配器需继承BaseExpandableListAdapter,并实现getGroupView和getChildView关键方法来定制视图。此外,该控件允许自定义指示...

    【视频】如何扩展视图

    如何扩展视图 &lt;br&gt;来源:《SWT/JFace核心应用》随书光盘

    etmvc--MVC框架

    【etmvc--MVC框架】是一个轻量级的Java开发框架,它采用了MVC(Model-View-Controller)设计模式,旨在简化Web应用程序的开发流程,提高代码的可维护性和可扩展性。这个框架以其简单易用的特点,使得开发者能够快速...

    LSMW(SAP)扩工厂视图操作步骤

    在这个场景中,我们将详细讨论如何使用LSMW来扩展物料主数据的工厂视图。 第一步,启动LSMW。在SAP GUI中输入事务代码LSMW,进入工作台。在初始屏幕上,你会看到多个选项,用于选择不同的数据加载过程。根据需求,...

    1.13 建立可扩展的集合视图

    在Android开发中,"1.13 建立可扩展的集合视图"这个主题主要涉及到了如何高效地管理和展示大量数据集,特别是在用户界面(UI)设计中。传统的ListView或GridView等AdapterView虽然常见,但它们在处理大数据集和...

    ETMVC学习文档提高学习专用,新框架

    1. **MVC**:ETMVC的核心是MVC模式,它将模型、视图和控制器分离,使代码结构清晰,易于维护。 2. **ORM实现**:ETMVC提供了一个可选的ActiveRecord框架,用于数据库操作,可以独立于MVC在非Web应用中使用。 五、...

    扩展列表的多种实现形式及列表视图

    本文将深入探讨“扩展列表的多种实现形式”及其与“列表视图”的关联。 一、扩展列表的实现形式 1. **Android ExpandableListView**: Android SDK提供了一个名为ExpandableListView的控件,可以实现可扩展的列表。...

    etmvc+extjs+qwikioffice框架的开源系统jxc

    开发者可以快速构建复杂的业务逻辑,同时ETMVC的模块化设计也使得项目的扩展性和协作变得更加便捷。 【ExtJS框架解析】 ExtJS是一个强大的JavaScript库,用于创建富客户端的Web应用。它提供了丰富的组件库,包括...

    ios-滚动视图扩展.zip

    本项目“ios-滚动视图扩展.zip”提供了一个GitHub仓库的完整下载,旨在帮助开发者深入理解和扩展滚动视图的功能。通过访问提供的链接(https://github.com/mengzhihun6/ScrollV-Demo.git),我们可以获取到相关的源...

    ExpandingTableView:扩展表格视图单元格的框架

    ExpandingTableView 扩展表视图单元格的框架。这是什么? 表格视图基础架构支持扩展单元。安装迦太基github " jozsef-vesza/ExpandingTableView "可可豆 use_frameworks!pod 'ExpandingTableView'用法基本支持扩展...

    ABAP BP-批量创建供应商采购视图.txt

    ABAP BP-批量创建供应商采购视图,采用方法类的形式批量创建BP中供应商的采购视图,程序可直接修改参数后调用

    ios项目源代码 各种布局控件使用及扩展视图自定义UITableViewCell等源码合集.rar

    ios项目源代码 各种布局控件使用及扩展视图自定义UITableViewCell等源码合集: DTCoreText-1.6.10在UITextView上实现十分丰富的文字效果 ios三级展开列表TQMultistageTableView_10802 ios个性化每个...

    Vita,android视图模型的扩展.zip

    Vita 是一个针对 Android 平台的视图模型(ViewModel)扩展库,旨在提供更高效、灵活和可复用的视图模型管理方案。在 Android 应用开发中,ViewModel 类是 Google 推荐用于存储和管理 UI 相关数据的组件,它可以存活...

    MFC 单文档视图中进行多种视图的切换

    然而,有时我们可能希望在同一个SDI应用中展示不同类型的视图,比如文本视图、图像视图或者图表视图。这种需求可以通过在MFC中实现多视图来解决。下面将详细解释如何在MFC的单文档视图中进行多种视图的切换。 首先...

    ExpandableSelectionView,一个完全可定制的android可扩展选择下拉视图,可以向下推视图.zip

    《ExpandableSelectionView:打造极致用户体验的Android可扩展选择下拉视图》 在移动应用开发领域,用户体验是决定一款应用是否能成功的关键因素之一。Android平台提供了丰富的UI组件供开发者构建各种界面,但有时...

    MFC 如何将一个对话框嵌入到视图中

    七、扩展阅读 在 MFC 中,还有许多其他的技术和方法可以实现对话框嵌入视图。例如,可以使用 CFormView 类,实现对话框嵌入视图的效果。此外,还可以使用其他的 GUI 库,例如 Qt、wxWidgets 等,实现对话框嵌入视图...

    18个ios项目源代码 各种布局控件使用及扩展视图自定义UITableViewCell

    18个ios项目源代码各种布局控件使用及扩展视图自定义UITableViewCell。 实现各种样式的表格输入界面、自定义TabBar的文字、颜色和图片加箭头、列表个性化列表项、IOS欢迎界面等。 18个ios项目源代码各种布局控件使用...

    IOS应用源码——UITableViewCell 视图扩展.zip

    这个压缩包“ IOS应用源码——UITableViewCell 视图扩展.zip”很可能包含了一些自定义扩展,使得UITableViewCell能够拥有更丰富的视图效果和交互功能。在iOS应用设计中,对UITableViewCell的自定义扩展是非常常见的...

Global site tag (gtag.js) - Google Analytics