`
earthangry
  • 浏览: 5312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

SoybeanMilk-1.0-b3发布

    博客分类:
  • java
阅读更多
SoybeanMilk-1.0-b31.0-b2 基础上做了一些小改进,包括:
  • 为<executables>标签增加“prefix”属性,便于模块配置
  • 为<arg>标签增加“objectSource”关键字,用于取得当前Web对象源对象
  • 修改<target>标签配置,取消type属性值限制
  • 修改<resolver>标签的id属性、<action>和<invoke>标签的name属性为允许重复,使功能可以被替换
  • 默认的配置文件名由“soybean-milk.config.xml”改为“soybean-milk.cfg.xml”
  • BUG修复:从Web对象源的param作用域中获取不存在的基本类型对象导致异常产生

您可以点击 这里 下载框架包,里面包含了完整的说明文档和示例。

SoybeanMilk是一个简易、友好、且零侵入的Java MVC实现框架:

  • 它几乎没有学习成本,你只需要熟悉jsp和servlet技术
  • 也不需要你遵从任何代码编写模式
  • 你的代码中找不到任何这个框架的踪迹

使用它,您仅需要编写少量的XML代码,就可以轻松地将任何Java方法发布为WEB应用。

另外,它还:
  • 支持RESTful风格
  • 内置强大且易扩展的对象转换器,可以自动将请求参数转换为复杂类型的对象
  • 可以很容易与Spring、Velocity等当前流行的框架整合

如果你是一个WEB开发者,并且已经有点厌烦现有的WEB开发框架所固有的开发方式(固定的代码编写模式、芝麻点的小功能也要写一堆接口), 应该考虑了解下这个框架。

来看看使用SoybeanMilk时,你需要做些什么。

首先,你需要编写你的Java业务类,比如下面的示例:
package my;

public class User{
    private Integer id;
    private String name;
}

public class UserManager
{
    public void save(User user){ ... }
    
    public List<User> list(){ ... }
}


然后,定义“/WEB-INF/soybean-milk.cfg.xml”配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<soybean-milk>
        <resolvers>
                <resolver id="userManager" class="my.UserManager" />
        </resolvers>

        <executables>
                <action name="/user/add.do">
                        <invoke> userManager.save(param) </invoke>
                        <target url="/user/list.do" type="redirect" />
                </action>
                
                <action name="/user/list.do">
                        <invoke> request.userList = userManager.list() </invoke>
                        <target url="/user/list.jsp" />
                </action>
        </executables>
</soybean-milk>



好了,业务“保存用户”和“查询所有用户列表”已经完成(JSP页面部分省略)!

下面,你需要在你的web.xml中加入如下内容:
<servlet>
    <servlet-name>dispatchServlet</servlet-name>
    <servlet-class>org.soybeanMilk.web.servlet.DispatchServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>dispatchServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>


最后,启动服务器,在浏览器中输入“http://[yourApp]/user/add.do?id=1&name=jack”,用户“jack”将被保存,并显示在“/user/list.jsp”页面上。
分享到:
评论

相关推荐

    ant-contrib-1.0b3的jar.zip

    然而,Ant的标准库并不能满足所有复杂的构建需求,这时我们就需要引入额外的库来扩展其功能,比如`ant-contrib-1.0b3.jar`。这个库为Ant提供了许多额外的任务和条件,使得Ant脚本能够执行更复杂的操作,如循环、判断...

    ant-contrib-1.0b3.jar.zip

    在这个特定的案例中,我们关注的是"ant-contrib-1.0b3.jar.zip"这个压缩包,其中包含了"ant-contrib-1.0b3.jar"文件,这是使用Ant进行循环打包时所必需的一个第三方库。 Apache Ant是一个由Java编写的开源构建工具...

    ant-contrib-1.0b3-bin.jar

    本文将详细探讨"ant-contrib-1.0b3-bin.jar"这个组件,并讲解其在Ant构建过程中的作用和使用方法。 一、ant-contrib库介绍 "ant-contrib"库是由社区开发的一个非官方Ant扩展,它包含了一系列自定义的任务和条件,...

    ant-contrib-1.0b3.pom

    maven资源,ant-contrib-1.0b3.pom文件,包缺失使用

    ant-contrib-1.0b3-bin.tar.gz

    本文将深入探讨Ant在多循环打包方面的应用,以及如何通过"ant-contrib-1.0b3-bin.tar.gz"这个压缩包中的Ant Contrib库来实现多渠道打包。 首先,让我们理解Ant的基本概念。Ant是一种基于XML的构建工具,它的任务是...

    displaytag-1.0-b3.zip

    这个"displaytag-1.0-b3.zip"文件包含了DisplayTag库的版本1.0的第三个beta版本。DisplayTag通过简化HTML表格的实现,提供了一种强大而灵活的方式来处理Web页面中的数据展示。 DisplayTag的核心功能包括: 1. **...

    ant-contrib-1.0b3.jar

    这是可以实用ant打包的jar包,大家下载了之后直接解压就行

    ant-contrib-1.0b3

    ant-contrib-1.0b3

    Python库 | gym-ignition-nightly-1.0b3.dev422.tar.gz

    本文将深入探讨一个与Python相关的库——Gym Ignition,特别是其夜间版本gym-ignition-nightly-1.0b3.dev422。Gym Ignition是基于OpenAI Gym框架的扩展,专注于机器人模拟和强化学习。 首先,让我们了解什么是Open...

    PyPI 官网下载 | mistral_extra-1.0.0.0b3-py2-none-any.whl

    资源来自pypi官网。 资源全名:mistral_extra-1.0.0.0b3-py2-none-any.whl

    Python库 | mistral_extra-1.0.0.0b3-py2-none-any.whl

    "Python库 | mistral_extra-1.0.0.0b3-py2-none-any.whl" 是一个针对Python编程语言的开发库,名为“mistral_extra”。这个库的版本号是1.0.0.0b3,表明它是该库的第三个beta版。其文件扩展名是.whl,这是一种Python...

    ant-contrib-1.0b3.jar.zip_Ant-Contrib_AntContribVersion_gravityr

    例如,"ant-contrib-1.0b3.jar"是Ant Contrib的一个版本,其中包含了一系列增强Ant功能的类和任务。这个特定的版本"1.0b3"是一个早期的发布版,但即便如此,它也提供了许多实用的构建工具。 在Ant项目中,如果没有...

    PyPI 官网下载 | plonetheme.sunburst-1.0b3.zip

    标题中的"PyPI 官网下载 | plonetheme.sunburst-1.0b3.zip"揭示了我们正在处理的是一个在Python Package Index (PyPI) 上发布的软件包。PyPI是Python社区用来分发、发现和安装第三方Python库的主要平台。`plonetheme...

    Python库 | python-storymarket-1.0b3.tar.gz

    标题中的"Python库 | python-storymarket-1.0b3.tar.gz"表明这是一个与Python相关的库,名为"storymarket",版本为1.0b3,它被打包成一个`.tar.gz`压缩文件。`.tar.gz`是Unix/Linux环境中常用的压缩格式,它首先将...

    AaronTools-1.0b3-py3-none-any.whl.zip

    标题 "AaronTools-1.0b3-py3-none-any.whl.zip" 暗示了这是一款名为 AaronTools 的软件工具的版本1.0b3的Python发行版,它被封装在一个zip压缩文件中。"whl"标签进一步表明 AaronTools 是一个遵循Python Wheel格式的...

    AaronTools-1.0b3-py3-none-any.whl

    AaronTools-1.0b3-py3-none-any.whl

    PyPI 官网下载 | scleradmin-1.0b3-py3-none-any.whl

    **PyPI官网下载 | scleradmin-1.0b3-py3-none-any.whl** 在Python开发中,PyPI(Python Package Index)是官方的软件仓库,它为Python开发者提供了一个集中发布和获取开源软件包的平台。PyPI中的资源广泛且多样化,...

    AaronTools-1.0b8-py3-none-any.whl.zip

    3. 运行 `pip install AaronTools-1.0b3-none-any.whl` 安装 AaronTools。 4. 阅读 "使用说明.txt" 文件以获取详细的使用、配置和依赖信息。 关于 AaronTools 库的具体功能和用途,由于没有更多信息,我们无法详细...

    PyPI 官网下载 | plone.app.contentrules-1.0b3.tar.gz

    今天我们要探讨的是在PyPI上发布的名为“plone.app.contentrules-1.0b3.tar.gz”的资源,这是一个Python库,专为Plone内容管理系统提供强大的规则引擎功能。 Plone是基于Zope内容管理框架的开源CMS,它以其强大的可...

Global site tag (gtag.js) - Google Analytics