/*比如填写一个人员基本信息,本来只需要填写 姓名、性别、出生年月 三个指标,而我后来需要增加籍贯这样的指标,我只需要在数据库中添加籍贯这个记录,并在页面就能自动增加籍贯这样的表单。而 struts在这方面,其优势反而变成了不足*/
这种功能用struts不能实现吗?难道作者在做的时候都把"姓名、性别、出生年月"做成了静态页面?
.net的易用性是建立在系统自动生成的大量代码之上的
这种功能用struts不能实现吗?难道作者在做的时候都把"姓名、性别、出生年月"做成了静态页面?
.net的易用性是建立在系统自动生成的大量代码之上的
解决方案 »
- EJB 实现业务流程
- 如何解决DOM4J Element.add 后产生的XML带有xmlns = ""
- 为什么我在用Formatter对象的format时会出现错误提示?
- 帮忙看段代码,在线等!
- jboss端口被占
- Jboss+MySQL,Mysql-ds.xml中的一个标签的作用?
- 谁能给我个DB2/400数据库的JDBC驱动程序啊
- 编写j2me和j2ee还有ejb的编辑器都在那里下载啊?除了sun的主页
- axis2通过wsdl地址生成客户端报错(https网址)
- 求助,为啥会跳到其他文件去啊?
- 请教Sun java application server 中访问ejb jndi 初始化的方法???
- iBatis调用Oracle返回游标的存储过程
这个是必须的,我个人看来这不应该被认为是蹩脚的地方,你认为的直接转到jsp一般来说应该是极少部分吧(在你看来应该是大部分),如果项目中经常出现目录、文件的变更,那只能说明是项目控制的问题了二、当页面表单需要自动变化或者频繁变化时。
难道你的数据库表结构会经常变化吗?
这个或许归为设计问题了三、要引入struts包,引入strtus标签库
网上有dreamweaver的struts插件,但我也没用过呢,不过我倒是觉得没太大必要,毕竟标签书写也不是太复杂嘛经过这么多年的考验,struts却仍旧这么经典,你不会认为在struts应用当中只有你们才做了个这么庞大的系统吧
页面的表单如果我需要动态生成,同时把系统的跳转路径都存到数据库里面,struts根本无法做到啊!,对不对?
对于成熟的系统,页面表单无法固定,因为数据库的指标和字段,都交给用户自己去维护,而且是要通过一个系统的后面来进行维护,而不是用户要加一个指标都得通过程序员来添加,我不知道楼上的有没有做过这样的系统,这样的功能已经很流行了。
我现在只想用最简洁的开发工具,一个项目来说,效率和速度是非常宝贵的!整天花心思去找那些第三方插件,太浪费时间了,难怪很多用了第三方插件的项目做一个死一个。
但是用了框架struts就会非常麻烦。其实个人觉得要做大项目必须自己开发框架,不能用这些,这些东西只能做点小网站,小系统可以。
欢迎大家拍砖。。
象2楼说的,你的项目控制的问题.
想要真正,完全满足你的"动态部署"的要求,只能全部用jsp了,难道所谓的大项目就是只用jsp的项目???二.
应该很少见吧,而且这和struts有什么矛盾么?你不喜欢ActionForm就不用,struts又不强迫你使用,.
如果你的项目里大量的表结构都是不确定的,你还做什么开发啊,做一个动态crud的基础框架,把表一建,整个项目就完成了......你nb了.三.
同上,不喜欢struts tag 就不用,jstl多简单,漂亮.最后说一句,觉得ruby这样的动态语言是比较适合楼主的需求的.
对于楼主的第2点不满,使用rails--ruby的mvc框架,只要建表就成,一行代码都不用写,一个页面都不用建.
<<<对于成熟的系统,页面表单无法固定,因为数据库的指标和字段,都交给用户自己去维护,而且是要通过一个系统的后面来进行维护,而不是用户要加一个指标都得通过程序员来添加晕死,原来所谓"成熟的系统"就是所有的表单都不确定的系统......
先不论是非(显然,这样的系统业务逻辑必须非常简单),你需要的是一个根据数据表动态实现crud功能的中间层,它的web层可以基于struts或其它的mvc框架.
如果要实现比较复杂一点的业务逻辑,或许drools这样的Rule Engine可以对你有所帮助,当然,它和web框架毫无关系.
struts固有的这些缺陷,真的不适合大项目,虽然您批驳了我一下,可也没有真正解决我现在所面临的问题,不能为了技术而技术哦,应该是为了解决实际工作需求使用真正合适的技术!
<<<页面的表单如果我需要动态生成,同时把系统的跳转路径都存到数据库里面,struts根本无法做到啊!
这的确是事实,对于工作流的系统而言,在数据库中保存程序的下一步转向是很重要的工作,不知道您做过工作流软件没。
有些东西用了struts真的不如jsp+javabean快,
用了struts,老是想着jsp+javabean的自由。
所以,我觉得,大家不要盲目相信所有的java框架都是好的,只有合适的选择才是正确的,struts就有很大的不足,就限制了项目的进度,如果再加上 hibernate、spring……,那简直不可想象。
页面布局如何? 难道就一行一列?能满足定制需求吗?使用velocity做页面感觉比标签库和jsp都有效.
缺点多是正常的,因为用的人多所以才能发现它的缺点多呀
public ActionForward index(ActionMapping mapping,
ActionForm aform,
HttpServletRequest request,
HttpServletResponse response) {//do something
return null;
}2. public ActionForward index(ActionMapping mapping,
ActionForm aform,
HttpServletRequest request,
HttpServletResponse response) {//do something
return mapping.findForward(request.getParamter("forwardpage"));
}
你看到action里的无处不在request和response没有???
javabean+jsp操作的不也是request和response么?
你在action里一样可以直接操作它的!!!struts能够做的事情有限,但是struts把所有需要的东西都提供给你了。
不要把自己的思路局限于formbean和Forward!!!不要一用了struts就以为struts里不能够写 request.getParamter和response.sendRedirect了!!!
各位都在想办法解决这三个主要问题,而这三个问题,都涉及struts的核心,各位的做法,几乎都已经摒弃了struts的优势,这样做,在系统里面有一个似struts非struts的东西,还有什么用呢?就算系统里面保留了这struts,还不如不用。
1.struts 是一个mvc框架
2.mvc模式分离了表示层和业务逻辑层,它使视图(你可以使用jsp,velocity,free),视图流转(spring webflow 主要关注点就是这个),业务处理得到了有效的隔离(在action 中被转发给bussiness bean)。
3.mode1(jsp+java bean)唯一的优势是对于小项目的快速开发,仅此而已。它的问题是:把视图绑定到了jsp,页面流转的处理分散到各个地方,java代码和html代码的混杂(业务逻辑和表示逻辑被混在一起),无法被测试!,无法维护!。这些都是致命的弱点。
4.楼主该花点时间看看书了,推荐2本,<j2ee核心模式>,<j2ee设计开发编程指南>(注意看4,12章,不过中文版翻译得很烂,结合英文版看较好)
楼上说的:“mode1(jsp+java bean)的问题是:把视图绑定到了jsp,页面流转的处理分散到各个地方,java代码和html代码的混杂(业务逻辑和表示逻辑被混在一起),无法被测试!,无法维护!。”
JSP页面本身就是一个相对独立的东东,可以说你完全可以一个一个JSP页面单独测试!
struts就好维护么?稍微要绕一点的页面就得一堆Action和ActionForm外加配置文件!
还不说因为struts把VC层分的太严格经常使人对M层无从下手:Action要不要有业务逻辑?要不要PO、VO、QO、BO...
烦!
这种情况可以不用formbean,可以弄个配置文件动态生成页面内容,根据配置文件来取表单的内容struts的用途是提供统一的访问入口,易于控制,比如权限控制,可以放在action中,然后跳转到各个jsp, 控制集中,代码复用,不用到处写这些代码
2.可以实现
3.手写页面很难吗?
配置forward并不是一个很复杂的事情,页面应该是相对固定的,配置次数也是固定的,所以配置不是问题,关键是你能不能让你封装过的的框架自动跳转到相应的页面(而不是在你的业务逻辑里面加上跳转过程)。
而且对于一个已经在线使用系统来说维护通常都是定期的, 不是你改了个东西就要重启服务的,服务器也不会允许你频繁停启的。二、当页面表单需要自动变化或者频繁变化时。
如果项目已经处于用户接收性测试的阶段应该不会存在页面表单频繁变化的情况。除非你处于开发阶段,需求分析做的不够细致,或者你的开发太XP了。
而且页面表单通常我们可以用动态form来映射数据到业务逻辑层。后台的改动只会影响到前台jsp页面的改动。正要做到数据库一动页面跟着自动反映,好像还没有这种技术,即使是rubby on rails也只是在生成项目的时候可以直接从数据库generate,对于数据库的修改它也做不到这点。.net也不能。 子要动动脚趾头想想, 如果要实现,那么它必然可以在运行期根据数据库字段来自动生成前端页面,自动生成中间的数据超作,自动编译,就相当于存在一个另外的智能化的系统来自动即时地观察你的数据库结构还要即时地生成代码、编译代码,谁听说过有这种系统?我也希望有这种系统。三、要引入struts包,引入strtus标签库
你期望的其实就是.net的webform的形式。可惜java不是.net。 如果你实在是很希望用所见即所得,那么就去看看weblogic-workshop吧,但是如果你使用它,那么java得灵活性将大大损失。.net是越来越流行了,也说明代码民工越来越多了。不过要承认.net的工具的确是做的非常之精彩、非常之自动化。 不过底层的原理基本和j2ee类似。JSF其实有些模范.net的嫌疑,不过技术都是相通的。
》》举个最简单的例子,人员基本信息指标是由客户自己管理的,比如系统里面 有姓名、性别两个指标,哪天客户想添加一个“籍贯”的指标,他自己可以从系统后台来添加,同时,动态地直接在数据库中添加这个字段,同时,在输入页面自动生成相应的输入框,我只需要把系统里面这个表的相关字段提出来,生成相应的输入表单,这样的需求太正常了。而struts做不到。其他的,哎,不争论也罢。
楼主名字不错,有.net
还有邻家boy的头衔,狠有流行的breakBack味道,粉喜欢:P
java家发洋光大靠你了
晕,为什么要把路径存到数据库里?不要老想着这条路走不通,其它的路就不行了。比如:你做一个空白的jsp页面.
里面什么都没有,jsp页面的内容是通过系统产生的。这时候路径不就固定了? <<<看来,真正在使用struts的人才能发现struts的不足啊。
晕,不得不让我来批你一下。我记得你在其它的版面发过,struts 的taglib很烦,不知道你有没有看过struts的源代码,
它的每个标签是怎么实现的?还有,有的朋友说,taglib用起来巨不爽,经常出这样的或那样的莫名期秒的错误.
造成这些《只有一个原因,它们对struts只是只处于刚开始的入门阶段.
我自已看过struts1.0,struts1.1的源代码,用它们也有3,4年吧.我是做erp的,页面
的复杂性也不差.还没有发现struts不能解决的问题。所以说,是你们的思路太窄,应该从多个方面的想问题。