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

扩展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.

相关推荐

    ExpandingStackCells, 在 iOS 9中,使用UIStackView扩展表视图单元.zip

    ExpandingStackCells, 在 iOS 9中,使用UIStackView扩展表视图单元 ExpandingStackCells使用栈视图创建扩展表视图单元的示例代码,在 iOS 9中引入。 什么是堆栈视图?UIStackView 是在 iOS 9中引入的一个视图。 它的...

    可扩展列表视图示例演示

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

    【视频】如何扩展视图

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

    etmvc--MVC框架

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

    1.13 建立可扩展的集合视图

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

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

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

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

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

    Spring MVC--5.视图和视图解析器

    2. 视图解析器接收到这个逻辑视图名,通过prefix和suffix进行扩展,生成实际的视图路径。 3. 使用生成的视图路径查找对应的视图资源,如JSP文件。 4. 如果找到视图资源,创建并返回一个View实例,这个实例负责渲染...

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

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

    ios-滚动视图扩展.zip

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

    fullCalendar 增加年视图版

    综上所述,`fullCalendar`的年视图扩展使得这款日历插件更加实用,不仅满足了用户的多样化需求,也展示了JavaScript社区的创新精神。通过`fullcalendar-2.2.7-yearview`这个资源包,开发者可以轻松地将年视图整合进...

    swift-UtilityFunction常用工具类方法扩展视图等

    8. **视图扩展(View Extensions)**:可以扩展UIView及其子类,添加自定义的初始化方法、手势识别、动画效果等,以简化视图的配置和管理。 9. **错误处理(Error Handling)**:工具类中的方法可能会抛出错误,...

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

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

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

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

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

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

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

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

    091 ECharts扩展示例自定义视图_大屏幕展屏(html源码).rar

    这个压缩包“091 ECharts扩展示例自定义视图_大屏幕展屏(html源码).rar”显然包含了一个关于ECharts自定义视图和大屏幕展示的实例,这将帮助我们深入理解如何在ECharts中创建自定义视图并将其应用于大屏幕显示。...

    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