mark

确实很烦啊。真要是能完美解决这个问题,肯定也名扬天下了。

以前见过一些介绍Echo的,应该算是一个很好的尝试吧。挺类似ms的server form的。

对了,.net的server form怎么样?虽然仍然不会达到和C/s一样的丰富的event driven机制和强大的表现力,但是,好用很多了。

> banq太自信了,楼主说的是GUI的问题,不是框架。
> 举例说明:
> 1)某个表单对应数据库中“USERNAME”字段,用户会要求输入拼音,系统自动由拼音转化为汉字。(最好是自动完成的SELECT)
> )
> 2)用回车键切换表单focus。
> 3)禁止输入汉字。
> 4)用图形界面实现日期表单的输入,就象CDatePicker。
> 5)一个页面输入了50个数据,但是只需要提交3个数据。
> 6)文件上传的时候一次选择多个(多次选择太麻烦)。
> 7)真正的多线程进度条。
> 8)页面上的消息处理。
> 9)打印和打印预览。
> 10)报表、曲线、柱状图...
> ...
> banq,struts + EJB +
> J道框架能解决上述10个问题的8个吗?不要告诉我用Applet,
> 只有win98+IE.
> banq,struts + EJB + J道框架能解决上述10个问题的8个吗?不要告诉我用Applet,客户端没有JVM,只有win98+IE.
所谓框架、EJB之类的DD都是解决server端的问题。软件的易用性还是要依靠client端。
>

没错,struts只是实现了mvc,使得表示和逻辑分离的一个框架而已,对GUI强大的交互和易用性方面不起任何作用。
不过通过客户端编程,使用JS,CSS和xmlhttp技术,上述需求除了7、8、9以外全都可以实现。
个人以为,对以显示为主,交互为辅应用的如各个企业的信息网,采用JS,CSS和xmlhttp技术基本可以满足表示的需求;但对于需要很强大的交互功能,如c/s时代真正的real application,该技术有其局限性,一是开发较烦琐大,二是得基于浏览器,单各个浏览器的兼容性就不说,如IE的脆弱性就是一个隐患。若要实现真正强大的gui,兼顾c/s的强交互和b/s的自动更新发布,JavaWebStart是个不错的选择。当然,这里我只谈表示,不谈服务器端编程框架和持久层

有个不错的解决方案。

服务端用web service ,客户端用flash 调用web service

另外一种方案,服务端用web service ,客户端 c++ builder,delphi开发

我是初学者.
问个菜菜的问题.

为什么大家都那么讨厌Applet?
难道大家的n-tier应用都是直接通过HTML吗?可是服务器端用的是J2EE的web service,那仅仅HTML可以和web service交互吗?

还有,即使是要下载jvm,也不麻烦呀.只是每一次运行时,提示要下载,点"确定"就可以下载了,下载完了,直接点"运行"就安装好了.不麻烦呀?

最后问一个:
大家现在做的n-tier的应用,客房端用的是什么?仅仅是HTML页面(没有javascript/applet)吗?
谢谢!
别笑我啊.我是做C/S出身了.现在想转型.

banq太自信了,楼主说的是GUI的问题,不是框架。
举例说明:
1)某个表单对应数据库中“USERNAME”字段,用户会要求输入拼音,系统自动由拼音转化为汉字。(最好是自动完成的SELECT)
----什么叫做自动转化?建立用户拼音汉字转化表,显示汉字进行连接查询不就行了,智能化的是不可能的!
如果可以智能化,那输入法还有什么用?
为什么不引导客户?如果很简单的解决,微软就会做了!

2)用回车键切换表单focus。
回车键切换表单focus,叫她按tab键,告诉她不用以为是as400的客户端,或者是微软的程序!
我们一个上海客户就曾经要求这样做,我们引导他告诉他没有必要!
按tab键就可以了,习惯改一下就可以了,或者你多付很多钱,我们给你开发,别的公司也不可能按你这个要求做的

3)禁止输入汉字。
很简单,js和java的控制都可以达到要求
1、如果只有数字和字母,就循环判断一下
2、如果只是汉字不准输入,就用码值范围判断吧,一个共通函数大家的问题都解决了
正则表达式可以帮你解决问题
你们公司以前没有积累么?
如果没有,自己写吧

4)用图形界面实现日期表单的输入,就象CDatePicker。
处理繁一点
网上有许多日期表单控件
不会搜索么?
基于html的你可以找到很多
基于java的只要转换一下,判断一下,抛个错误就解决了

5)一个页面输入了50个数据,但是只需要提交3个数据。
向导型页面,可以使用下一步,下一步,简化工作
具体需求不清晰,我也说不出什么

6)文件上传的时候一次选择多个(多次选择太麻烦)。
可以的啊?
为什么不可以
看看smartupload的sample吧


7)真正的多线程进度条。
很难,大数据运算可以用消息驱动bean去实现,
不过客户端要不断刷新

8)页面上的消息处理。
不明白

9)打印和打印预览。
可以实现,用缓存数据结果显示为打印预览,点击打印将缓存结果用jxl打印到excel中
或者用cristal report

10)报表、曲线、柱状图...
我实现过js的,不过比较简单
用applet解决巴,如果有
或者用excel报表解决
cristal report也可以

我以前在杭州新利软件的时候,公司有个JS牛人可以用js做到股票那种输入股票代码自动帮你填股票代码的输入框,就是你输入100,这个框可以自动替你把以100打头的股票代码显示出来。

我既然问了,就可以解决,而且我是针对banq说:struts可以解决全部的GUI问题提出的。
1)某个表单对应数据库中“USERNAME”字段,用户会要求输入拼音,系统自动由拼音转化为汉字。(最好是自动完成的SELECT)
--有一个很经典的js代码可以实现。

2)用回车键切换表单focus。
简单

3)禁止输入汉字。
简单,struts也可以实现。

4)用图形界面实现日期表单的输入,就象CDatePicker。
有很多js代码,但是struts不行。

5)一个页面输入了50个数据,但是只需要提交3个数据。
简单

6)文件上传的时候一次选择多个(多次选择太麻烦)。
html的file表单只能单选,郁闷ing

7)真正的多线程进度条。
js能实现,真的很神奇,我也曾经怀疑过,但是试验了很多次,的确可以实现。用的是document.getElementID()

8)页面上的消息处理
我只的是不通过提交request,实现页面之间的数据传递。

9)打印和打印预览。
只能通过applet或者crystal report等客户端组件实现

10)报表、曲线、柱状图...
jfreechart
...

>回车键切换表单focus,叫她按tab键,告诉她不用以为是as400的客户端,或者是微软的程序!
我们一个上海客户就曾经要求这样做,我们引导他告诉他没有必要!
按tab键就可以了,习惯改一下就可以了,或者你多付很多钱,我们给你开发,别的公司也不可能按你这个要求做的

------------------------------
你以为你是上帝吗?不,用户才是。其实这个要求一点都不过分,因为很多用惯了财务软件的用户习惯使用小键盘,你能在小键盘上找到tab吗,如果不能,那么用户会告诉你,你的软件降低了录入效率!

其实这就是GUI的重要性所在--易用!如果不易用,如果界面不友好,那么用户根本不认可你的软件。Server端再强大,你的软件也是垃圾,因为你没有满足用户的合理需求。

很高兴banq将这个主题加精。
因为这说明大家都在重视BS应用的GUI问题。

都学JS吧,呵呵。

bs做出这种在cs的简单效果需要多长时间????我看到基本没有bs有这种效果

>bs做出这种在cs的简单效果需要多长时间????我看到基本没有bs有这种效果
----------------------------
不用多长时间

记录一多就不行了,而且如果字段很多要用scroll的时候等等,排序,页面跳转等等,楼上的这个界面只能用在小系统上,如果大系统,估计....

例如一个复杂的仓库管理或者财务软件等等

> 记录一多就不行了,而且如果字段很多要用scroll的时候等等,
> 判?页面跳转等等,楼上的这个界面只能用在小系统上,如果大
> 低?估计....
>
> 例如一个复杂的仓库管理或者财务软件等等

跟系统的大小没有关系,这个界面也就是利用了css而已,和一般的html表格没有不同。
这样的表格,你认为包含很多字段是合理的设计吗?用户会看不过来的。还有,使用javascript可以实现表格的排序。
页面跳转是BS应用的顽疾,我也很头痛,但是即便是CS系统,在瘦客户的条件下,也难免经常跟中间层交互数据。如果你用胖客户端,那么我就不说什么了。