- 浏览: 2617785 次
- 性别:
- 来自: 小胖儿的大城
文章分类
最新评论
-
ni4wangba0:
ni4wangba0 写道亲测,算法有问题。对不起,其实是我自 ...
谈谈"求线段交点"的几种算法(js实现,完整版) -
ni4wangba0:
亲测,算法有问题。
谈谈"求线段交点"的几种算法(js实现,完整版) -
kers007:
苹果不让Webapp 在appstore 里发布,我不知道对 ...
苹果真的要在 AppStore 里封杀 WebApp 吗? -
striveandlive:
fins = js大牛
[原创]GT-Template, 一个超轻量级的js模板工具. -
AlwaysYang:
基础扎实的才能行走天下。
关于body的"大小"在ie和ff下的一些基础知识
先说些与标题貌似无关的话.
随着prototype DWR 等ajax框架的流行,
服务器端生成js代码返回客户端,由客户端调用(直接调用或eval)似乎已经成为了一种很正常的做法(是否流行我不知道).
这种做法(其实是一种设计)本身无可厚非,但是常常被人错误的理解和应用
(此处所谓的"错误"是基于我的立场,也许更多的人会认为我的观点才是错的 呵呵).
用过DWR的人都知道,实际上DWR传给客户端的JS并不是包含了很复杂的业务逻辑和表现逻辑,他只不过是向客户端发送了一些信息,
这些信息告诉了客户端如何调用服务端暴露出的服务.这些信息本质上只是一些数据,确切的说只是一些参数.
DWR实现的web remoting,只是对下面这种做法的一个变种.
DWR传过来的JS,实际上的只是扮演着"service对应的url","service需要的参数","service调用结束后要做的事情"这些参数所扮演的角色.
对于真正的业务逻辑还是包含在服务端的service里.
所以我不止一次的说过"没什么事情是必须要用DWR那种方式来做,而用prototype + servlet做不了或是做起来很困难的".
因为两者都能够做到而且也都正做着同样的事情.
但是DWR的这种做法有时候会产生一些不良暗示:服务端生成js供客户端调用是一件很不错的事.
甚至容易让人把这种做法和JSF的事件机制混为一谈.
于是通过ajax请求返回的信息变得丰富多彩.其中最可怕的就是返回复杂的HTML和JS脚本.
现在还有一种可怕的事情是 客户端提交js脚本,服务端用rhnio运行
(我曾就就做过这种可怕的事 呵呵,但是那个系统尤其客观性,不过其实完全可以避免的,只是当时懒了).
在一个ajax的请求与响应中,服务端与客户端交互的信息应该只是作为数据载体的字符串(xml json序列等).
这些数据会告诉对方要去做什么 以及为对方提供必要的参数,而不应该包含告诉对方怎么做.
传递js语句也可以,但是这些js语句一定要是能够和json划等号的,任何夹杂了 if for = 等操作的js都是应该极力避免的.
在服务器端生成HTML的做法实在是为了照顾羸弱的浏览器而做出的让步,其实这种做法本身完全是个错误,
不过在相当长一段时间内,我们还将继续错下去.
当然我这里说的完全是ajax相关的东西,JSP、tag不在讨论范畴之内,
但我还是要补充一句: 我虽然曾大量是使用和开发tag,但我对它是非常厌恶的,
使用上也许还比较愉快,但是开发起来真够恶心的.我讨厌一切在服务器端生成html代码的行为.
关于tag这是另外一个很大的话题了,以前在javaeye上的相关讨论并不少,在这里就不再多废话了.
好了,现在该说些和标题有关的东西了(晕).
我先问几个问题:
当你要整合两个分别使用 j2ee 和 php 编写的系统时,
当你要在一个j2ee系统中使用php系统中的一部分功能时,
当你要从一个j2ee系统向另一个.net系统中传递数据时,
你会怎么做?
会变态的用java重写另外一个系统?
会更变态的将j2ee系统用php/.net重写吗?
会用j2ee生成php/.net可以理解的代码,让对方运行吗?
不会的,你首先想到的会是WS,会是MQ,会是REST,会是SOA.....
其实服务端 与 客户端 就是两个独立的系统,而且是两个独立的异构系统.
处理他们之间的关系和处理两个大型的异构系统的关系非常类似,应该咬住"服务"二字不放.
所谓"服务"应该是: 生产者提供,消费者享用.
而不是: 你告诉我我每一步要怎样做,然后我再一步步的做给你看. 这不叫服务,这叫"奴役".
任何企图在一端生成另一端代码的做法都是欠妥当的.
因为世上没有B/S系统,只有B系统和S系统.
多说一句,GWT如果设计成是在运行期生成最终html/js代码的,那么他将是愚蠢的,幸好他们没那么,但是现在的他离愚蠢也不远.
这篇文章同样比较凌乱,也不知道我说明白我想说的没.
其实我只是想告诉大家(主要是新手),应该站在服务的角度来看待系统的层次和结构,
每一层只是向其他层提供服务,并享用其他人的服务,而无权干涩别人提供的服务的细节,也不应该让别人干涉自己.
有了这样的认识,如何传递数据,如何做到系统层次件的解耦就是很自然的事情了.
当然本着"世事没有绝对,凡事都有例外"的原则,我这些观点不适用于所有系统.
以上观点只代表我个人看法(当然有一些观点不是我首创),欢迎大家提出反对意见.
说实话,你的帖子真的很乱,我实在看不出是如何推出B系统和S系统这个结论。
所以我就跳过你所有的东西,直接讨论你的题目。
恩 确实, 有机会我重新排排版吧.
其实我的核心思想就是帖子最后那段话:
其实我只是想告诉大家(主要是新手),应该站在服务的角度来看待系统的层次和结构,
每一层只是向其他层提供服务,并享用其他人的服务,而无权干涩别人提供的服务的细节,也不应该让别人干涉自己.
有了这样的认识,如何传递数据,如何做到系统层次件的解耦就是很自然的事情了.
当然本着"世事没有绝对,凡事都有例外"的原则,我这些观点不适用于所有系统.
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。client呼叫server都不是问题,问题是如何描述这种呼叫,所以有dcom,rmi,xml-rpc,soap...
再来说说这段
(我不是否定 或是辩驳 更不是争论 我只是希望在某个问题上充分的表达出自己的想法,而不是要证明谁对谁错 呵呵)
我从来没说过 server和client可以分割, 我也从来不认为 B系统 和 S系统 可以离开对方独立运行.(也许有人会说:那他们就应该是一个系统 呵呵 那只能说你对系统的理解比我的理解更宏观.)
虽然B系统 和 S系统一定要配合使用,但是两者应该做到: 我的B系统进行改造, S系统不用作改动,即使改动,也应该是配置级的,而不应该是代码级的.反之毅然. 理想的一个S端显然是 可以配合各种个样的B的.这个想法不是我首创的, 而且这个想法实际上就是 j2ee的一个使命啊.
另外,你说format, 还有s与b之间必须要有一个统一的协议,一个可以互相"理解的格式".
这个你说的完全正确. 但是不能因为有了这种协议,我们就要认为S与B是一个密不可分的整体.
两个异构系统进行 soa ws...时 也是要有一个协议的 ,也是要遵循某种规则的,但是你能说这时候他们两个是一个系统吗?
当然, 你可以把任何在一起协同工作 共同完成一个目标的 很多个系统看成一个系统, 那只能说是一个宏观上的概念,不在讨论范围呢.
不能因为两者合作做一件事 就认为他们是一个系统, 不能认为两者之间有协议 有约定 就认为他们是一个系统.
就好像 你不能把 手机制造公司 和 手机配件制造公司 看成一个公司.
他们之间用共同目的,他们之间有共同的协议,他们离开对方都不能存活,但是他们终究不是一个公司,不是一个系统,他们之于对方不是不可替换的.
xml是数据也是握手协议,你的客户端javascript无论如何eval传回来的东西,它本质必然是json或者xml或者text甚至可以是可执行的javascript,或者其他一些大家协商好的东西.
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。
完了 你更没理解我的意思, 你把问题居然引到"握手协议"上去了.
我们会到问题的开始.
那实在是佩服你居然用你厌恶的tag把ecside做了出来,如果不用tag,同样实现ecside不知道你有什么更好的方法.在客户端使用js动态生成表格的方法吗?
然后你 说可以 用xml+xslt
然后我说 如果用xml+xslt,那么问题的关键就是xml如何生成和处理了, 因为这时候展现完全由xslt+js来实现了.
再然后 你就冒出个"xml是数据也是握手协议"
先说一说我的意思吧.
实际上 xml+xslt 和 tag js本身不是一个范畴.我用tag 也可以实现 xml+xslt的页面啊.
tag和js 都可以 生成与处理 html/xml+xslt.
你不能把 tag js 和 xml+xslt 放在一起比较.
tag实际上可以理解为就是代码工厂,就是用来生成html xml xslt的.
我和z_jordon讨论的是 "tag js ", 而你引出一个 xml xslt,显然大家讨论的不是一个范畴啊.
另外 目前还没有一个轻量级的成熟的 基于xml+xslt的列表组件 或者其他什么展现层组件.
就算有也不是很流行, 为什么呢
说实话,你的帖子真的很乱,我实在看不出是如何推出B系统和S系统这个结论。
所以我就跳过你所有的东西,直接讨论你的题目。
xml是数据也是握手协议,你的客户端javascript无论如何eval传回来的东西,它本质必然是json或者xml或者text甚至可以是可执行的javascript,或者其他一些大家协商好的东西.
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。
完了 你更没理解我的意思, 你把问题居然引到"握手协议"上去了.
我们会到问题的开始.
那实在是佩服你居然用你厌恶的tag把ecside做了出来,如果不用tag,同样实现ecside不知道你有什么更好的方法.在客户端使用js动态生成表格的方法吗?
然后你 说可以 用xml+xslt
然后我说 如果用xml+xslt,那么问题的关键就是xml如何生成和处理了, 因为这时候展现完全由xslt+js来实现了.
再然后 你就冒出个"xml是数据也是握手协议"
先说一说我的意思吧.
实际上 xml+xslt 和 tag js本身不是一个范畴.我用tag 也可以实现 xml+xslt的页面啊.
tag和js 都可以 生成与处理 html/xml+xslt.
你不能把 tag js 和 xml+xslt 放在一起比较.
tag实际上可以理解为就是代码工厂,就是用来生成html xml xslt的.
我和z_jordon讨论的是 "tag js ", 而你引出一个 xml xslt,显然大家讨论的不是一个范畴啊.
另外 目前还没有一个轻量级的成熟的 基于xml+xslt的列表组件 或者其他什么展现层组件.
就算有也不是很流行, 为什么呢
你和刚才那位一样, 对我所说的 "服务端" "客户端" "生成" 这三者和你们理解的不一样.
你把 服务端 理解为 那他为我们提供服务的那台机器了.
确实,我们按你的理解, B端看到的一切 接收到的一切 都是S端发出的.
但是 我这里的 服务端确切的说 是服务端的业务逻辑, 而不是服务器.
也就是说我的意思是
你不应该试图在服务端的逻辑处理里 拼装出本该由客户端负责处理的逻辑.
不知道我说的 你明白没.
xml是数据也是握手协议,你的客户端javascript无论如何eval传回来的东西,它本质必然是json或者xml或者text甚至可以是可执行的javascript,或者其他一些大家协商好的东西.
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。client呼叫server都不是问题,问题是如何描述这种呼叫,所以有dcom,rmi,xml-rpc,soap...
XSLT和XML配合javascript或者VBScript,照样可以生成表格。
服务器端生成js代码返回客户端,由客户端调用(直接调用或eval)似乎已经成为了一种很正常的做法(是否流行我不知道).
请说明一下,那些js代码不是有服务器端生成
从你说话的口气里我感觉你的意思是 : 没有什么js代码不是服务端生成的.
如果你这样认为那只能说明我俩对"生成"这两个字的定义不同.
当然,也许按你的理解, jsp内写的所有的html和js都可以理解为服务器端生成,对吧?
服务器端生成js代码返回客户端,由客户端调用(直接调用或eval)似乎已经成为了一种很正常的做法(是否流行我不知道).
请说明一下,那些js代码不是有服务器端生成
呵呵。 可能我javascript不太行 所以对java有些偏爱。 不过gwt对一些不熟悉javascript的人的贡献还是蛮大的。 写java比写javascript爽吧。IDE的支持强多了, 特别是Refactor。
你这句怎么理解? gwt的rpc server有生成一大堆的js让client端调用? 我感觉gwt还是把server端跟client端分得很清楚的。 我想他只是帮你做了把java object mapping到 javascript object。 其实我还是比较喜欢gwt的这么模式。
深得精髓,不过为了卖概念就是要骗人的。骗人骗多了自己也就信了。
随着prototype DWR 等ajax框架的流行,
服务器端生成js代码返回客户端,由客户端调用(直接调用或eval)似乎已经成为了一种很正常的做法(是否流行我不知道).
这种做法(其实是一种设计)本身无可厚非,但是常常被人错误的理解和应用
(此处所谓的"错误"是基于我的立场,也许更多的人会认为我的观点才是错的 呵呵).
用过DWR的人都知道,实际上DWR传给客户端的JS并不是包含了很复杂的业务逻辑和表现逻辑,他只不过是向客户端发送了一些信息,
这些信息告诉了客户端如何调用服务端暴露出的服务.这些信息本质上只是一些数据,确切的说只是一些参数.
DWR实现的web remoting,只是对下面这种做法的一个变种.
ajax.request("service对应的url","service需要的参数","service调用结束后要做的事情")
DWR传过来的JS,实际上的只是扮演着"service对应的url","service需要的参数","service调用结束后要做的事情"这些参数所扮演的角色.
对于真正的业务逻辑还是包含在服务端的service里.
所以我不止一次的说过"没什么事情是必须要用DWR那种方式来做,而用prototype + servlet做不了或是做起来很困难的".
因为两者都能够做到而且也都正做着同样的事情.
但是DWR的这种做法有时候会产生一些不良暗示:服务端生成js供客户端调用是一件很不错的事.
甚至容易让人把这种做法和JSF的事件机制混为一谈.
于是通过ajax请求返回的信息变得丰富多彩.其中最可怕的就是返回复杂的HTML和JS脚本.
现在还有一种可怕的事情是 客户端提交js脚本,服务端用rhnio运行
(我曾就就做过这种可怕的事 呵呵,但是那个系统尤其客观性,不过其实完全可以避免的,只是当时懒了).
在一个ajax的请求与响应中,服务端与客户端交互的信息应该只是作为数据载体的字符串(xml json序列等).
这些数据会告诉对方要去做什么 以及为对方提供必要的参数,而不应该包含告诉对方怎么做.
传递js语句也可以,但是这些js语句一定要是能够和json划等号的,任何夹杂了 if for = 等操作的js都是应该极力避免的.
在服务器端生成HTML的做法实在是为了照顾羸弱的浏览器而做出的让步,其实这种做法本身完全是个错误,
不过在相当长一段时间内,我们还将继续错下去.
当然我这里说的完全是ajax相关的东西,JSP、tag不在讨论范畴之内,
但我还是要补充一句: 我虽然曾大量是使用和开发tag,但我对它是非常厌恶的,
使用上也许还比较愉快,但是开发起来真够恶心的.我讨厌一切在服务器端生成html代码的行为.
关于tag这是另外一个很大的话题了,以前在javaeye上的相关讨论并不少,在这里就不再多废话了.
好了,现在该说些和标题有关的东西了(晕).
我先问几个问题:
当你要整合两个分别使用 j2ee 和 php 编写的系统时,
当你要在一个j2ee系统中使用php系统中的一部分功能时,
当你要从一个j2ee系统向另一个.net系统中传递数据时,
你会怎么做?
会变态的用java重写另外一个系统?
会更变态的将j2ee系统用php/.net重写吗?
会用j2ee生成php/.net可以理解的代码,让对方运行吗?
不会的,你首先想到的会是WS,会是MQ,会是REST,会是SOA.....
其实服务端 与 客户端 就是两个独立的系统,而且是两个独立的异构系统.
处理他们之间的关系和处理两个大型的异构系统的关系非常类似,应该咬住"服务"二字不放.
所谓"服务"应该是: 生产者提供,消费者享用.
而不是: 你告诉我我每一步要怎样做,然后我再一步步的做给你看. 这不叫服务,这叫"奴役".
任何企图在一端生成另一端代码的做法都是欠妥当的.
因为世上没有B/S系统,只有B系统和S系统.
多说一句,GWT如果设计成是在运行期生成最终html/js代码的,那么他将是愚蠢的,幸好他们没那么,但是现在的他离愚蠢也不远.
这篇文章同样比较凌乱,也不知道我说明白我想说的没.
其实我只是想告诉大家(主要是新手),应该站在服务的角度来看待系统的层次和结构,
每一层只是向其他层提供服务,并享用其他人的服务,而无权干涩别人提供的服务的细节,也不应该让别人干涉自己.
有了这样的认识,如何传递数据,如何做到系统层次件的解耦就是很自然的事情了.
当然本着"世事没有绝对,凡事都有例外"的原则,我这些观点不适用于所有系统.
以上观点只代表我个人看法(当然有一些观点不是我首创),欢迎大家提出反对意见.
评论
22 楼
fins
2007-09-13
ray_linn 写道
说实话,你的帖子真的很乱,我实在看不出是如何推出B系统和S系统这个结论。
所以我就跳过你所有的东西,直接讨论你的题目。
恩 确实, 有机会我重新排排版吧.
其实我的核心思想就是帖子最后那段话:
其实我只是想告诉大家(主要是新手),应该站在服务的角度来看待系统的层次和结构,
每一层只是向其他层提供服务,并享用其他人的服务,而无权干涩别人提供的服务的细节,也不应该让别人干涉自己.
有了这样的认识,如何传递数据,如何做到系统层次件的解耦就是很自然的事情了.
当然本着"世事没有绝对,凡事都有例外"的原则,我这些观点不适用于所有系统.
21 楼
ronghao
2007-09-13
好文章!我想fins的意思是B系统与S系统是完全以数据为中心进行交互的,S只是负责提供数据(html,xml,json等),B负责接受数据并根据逻辑渲染然后处理页面操作逻辑,S不应该涉及与页面显示、操作有关的逻辑。
我甚至有这样的想法,B取得数据-->本地存储数据-->用户在B中对本地数据进行操作(会包括逻辑)-->操作完毕,B将数据送回S,S进行S端数据更新。
这样S会相当的simple,B会相应的膨胀。当然一次回送也会存在效率问题。
我甚至有这样的想法,B取得数据-->本地存储数据-->用户在B中对本地数据进行操作(会包括逻辑)-->操作完毕,B将数据送回S,S进行S端数据更新。
这样S会相当的simple,B会相应的膨胀。当然一次回送也会存在效率问题。
20 楼
fins
2007-09-13
ray_linn 写道
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。client呼叫server都不是问题,问题是如何描述这种呼叫,所以有dcom,rmi,xml-rpc,soap...
再来说说这段
(我不是否定 或是辩驳 更不是争论 我只是希望在某个问题上充分的表达出自己的想法,而不是要证明谁对谁错 呵呵)
我从来没说过 server和client可以分割, 我也从来不认为 B系统 和 S系统 可以离开对方独立运行.(也许有人会说:那他们就应该是一个系统 呵呵 那只能说你对系统的理解比我的理解更宏观.)
虽然B系统 和 S系统一定要配合使用,但是两者应该做到: 我的B系统进行改造, S系统不用作改动,即使改动,也应该是配置级的,而不应该是代码级的.反之毅然. 理想的一个S端显然是 可以配合各种个样的B的.这个想法不是我首创的, 而且这个想法实际上就是 j2ee的一个使命啊.
另外,你说format, 还有s与b之间必须要有一个统一的协议,一个可以互相"理解的格式".
这个你说的完全正确. 但是不能因为有了这种协议,我们就要认为S与B是一个密不可分的整体.
两个异构系统进行 soa ws...时 也是要有一个协议的 ,也是要遵循某种规则的,但是你能说这时候他们两个是一个系统吗?
当然, 你可以把任何在一起协同工作 共同完成一个目标的 很多个系统看成一个系统, 那只能说是一个宏观上的概念,不在讨论范围呢.
不能因为两者合作做一件事 就认为他们是一个系统, 不能认为两者之间有协议 有约定 就认为他们是一个系统.
就好像 你不能把 手机制造公司 和 手机配件制造公司 看成一个公司.
他们之间用共同目的,他们之间有共同的协议,他们离开对方都不能存活,但是他们终究不是一个公司,不是一个系统,他们之于对方不是不可替换的.
19 楼
ray_linn
2007-09-13
fins 写道
ray_linn 写道
fins 写道
恩 是的 但是按你说的 那么问题的核心就由如何得到HTML表格变为如何得到那些xml了
xml是数据也是握手协议,你的客户端javascript无论如何eval传回来的东西,它本质必然是json或者xml或者text甚至可以是可执行的javascript,或者其他一些大家协商好的东西.
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。
完了 你更没理解我的意思, 你把问题居然引到"握手协议"上去了.
我们会到问题的开始.
z_jordon 写道
那实在是佩服你居然用你厌恶的tag把ecside做了出来,如果不用tag,同样实现ecside不知道你有什么更好的方法.在客户端使用js动态生成表格的方法吗?
然后你 说可以 用xml+xslt
然后我说 如果用xml+xslt,那么问题的关键就是xml如何生成和处理了, 因为这时候展现完全由xslt+js来实现了.
再然后 你就冒出个"xml是数据也是握手协议"
先说一说我的意思吧.
实际上 xml+xslt 和 tag js本身不是一个范畴.我用tag 也可以实现 xml+xslt的页面啊.
tag和js 都可以 生成与处理 html/xml+xslt.
你不能把 tag js 和 xml+xslt 放在一起比较.
tag实际上可以理解为就是代码工厂,就是用来生成html xml xslt的.
我和z_jordon讨论的是 "tag js ", 而你引出一个 xml xslt,显然大家讨论的不是一个范畴啊.
另外 目前还没有一个轻量级的成熟的 基于xml+xslt的列表组件 或者其他什么展现层组件.
就算有也不是很流行, 为什么呢
说实话,你的帖子真的很乱,我实在看不出是如何推出B系统和S系统这个结论。
所以我就跳过你所有的东西,直接讨论你的题目。
18 楼
cats_tiger
2007-09-13
fins所说的“生成”不是指在jsp中的html或js代码由servlet container编译生成html或js,而是说,在s端的代码中,用out之类的方法输出代码,以前我也经常写:
后来改用freemarker生成html或js,情况大有改观。再后来,什么都不写了。
pageContext.getOut().print("<script>...");
后来改用freemarker生成html或js,情况大有改观。再后来,什么都不写了。
17 楼
fins
2007-09-13
ray_linn 写道
fins 写道
恩 是的 但是按你说的 那么问题的核心就由如何得到HTML表格变为如何得到那些xml了
xml是数据也是握手协议,你的客户端javascript无论如何eval传回来的东西,它本质必然是json或者xml或者text甚至可以是可执行的javascript,或者其他一些大家协商好的东西.
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。
完了 你更没理解我的意思, 你把问题居然引到"握手协议"上去了.
我们会到问题的开始.
z_jordon 写道
那实在是佩服你居然用你厌恶的tag把ecside做了出来,如果不用tag,同样实现ecside不知道你有什么更好的方法.在客户端使用js动态生成表格的方法吗?
然后你 说可以 用xml+xslt
然后我说 如果用xml+xslt,那么问题的关键就是xml如何生成和处理了, 因为这时候展现完全由xslt+js来实现了.
再然后 你就冒出个"xml是数据也是握手协议"
先说一说我的意思吧.
实际上 xml+xslt 和 tag js本身不是一个范畴.我用tag 也可以实现 xml+xslt的页面啊.
tag和js 都可以 生成与处理 html/xml+xslt.
你不能把 tag js 和 xml+xslt 放在一起比较.
tag实际上可以理解为就是代码工厂,就是用来生成html xml xslt的.
我和z_jordon讨论的是 "tag js ", 而你引出一个 xml xslt,显然大家讨论的不是一个范畴啊.
另外 目前还没有一个轻量级的成熟的 基于xml+xslt的列表组件 或者其他什么展现层组件.
就算有也不是很流行, 为什么呢
16 楼
fins
2007-09-13
yyjn12 写道
Brower 最大的用途不就是把服务器发送过来的html代码展现出来吗?
避免一切在服务器端生成客户端代码的行为,那怎么玩啊?
b端发出一个请求,s端响应请求,传回一个文本,这个文本就是一段html吧,最常见的情况.这个html就是包含了数据和样式.数据肯定是在服务器生成的吧,样式难道让s端随意展现?
不太理解.
.本来没资格在这个有"门槛"的社区发言的.不过这个问题的思想话我的确想弄明白.
避免一切在服务器端生成客户端代码的行为,那怎么玩啊?
b端发出一个请求,s端响应请求,传回一个文本,这个文本就是一段html吧,最常见的情况.这个html就是包含了数据和样式.数据肯定是在服务器生成的吧,样式难道让s端随意展现?
不太理解.
.本来没资格在这个有"门槛"的社区发言的.不过这个问题的思想话我的确想弄明白.
你和刚才那位一样, 对我所说的 "服务端" "客户端" "生成" 这三者和你们理解的不一样.
你把 服务端 理解为 那他为我们提供服务的那台机器了.
确实,我们按你的理解, B端看到的一切 接收到的一切 都是S端发出的.
但是 我这里的 服务端确切的说 是服务端的业务逻辑, 而不是服务器.
也就是说我的意思是
你不应该试图在服务端的逻辑处理里 拼装出本该由客户端负责处理的逻辑.
不知道我说的 你明白没.
15 楼
ray_linn
2007-09-13
fins 写道
恩 是的 但是按你说的 那么问题的核心就由如何得到HTML表格变为如何得到那些xml了
xml是数据也是握手协议,你的客户端javascript无论如何eval传回来的东西,它本质必然是json或者xml或者text甚至可以是可执行的javascript,或者其他一些大家协商好的东西.
当世界越多元,B/S的结合就越紧密。从这种意义上:server和client永远无法分割,因为只要是不同进程,就需要通讯协议。
你的公式是错的,BS之间包括了:
do what and format
what to do and format
S端提供的结果必然得以某种可以理解的格式呈现,所以B端总是从属于S端。client呼叫server都不是问题,问题是如何描述这种呼叫,所以有dcom,rmi,xml-rpc,soap...
14 楼
yyjn12
2007-09-13
Brower 最大的用途不就是把服务器发送过来的html代码展现出来吗?
避免一切在服务器端生成客户端代码的行为,那怎么玩啊?
b端发出一个请求,s端响应请求,传回一个文本,这个文本就是一段html吧,最常见的情况.这个html就是包含了数据和样式.数据肯定是在服务器生成的吧,样式难道让s端随意展现?
不太理解.
.本来没资格在这个有"门槛"的社区发言的.不过这个问题的思想话我的确想弄明白.
避免一切在服务器端生成客户端代码的行为,那怎么玩啊?
b端发出一个请求,s端响应请求,传回一个文本,这个文本就是一段html吧,最常见的情况.这个html就是包含了数据和样式.数据肯定是在服务器生成的吧,样式难道让s端随意展现?
不太理解.
.本来没资格在这个有"门槛"的社区发言的.不过这个问题的思想话我的确想弄明白.
13 楼
fins
2007-09-13
恩 是的 但是按你说的 那么问题的核心就由如何得到HTML表格变为如何得到那些xml了
12 楼
ray_linn
2007-09-13
z_jordon 写道
那实在是佩服你居然用你厌恶的tag把ecside做了出来,如果不用tag,同样实现ecside不知道你有什么更好的方法.在客户端使用js动态生成表格的方法吗?
XSLT和XML配合javascript或者VBScript,照样可以生成表格。
11 楼
fins
2007-09-13
zb1015 写道
fins 写道
服务器端生成js代码返回客户端,由客户端调用(直接调用或eval)似乎已经成为了一种很正常的做法(是否流行我不知道).
请说明一下,那些js代码不是有服务器端生成
从你说话的口气里我感觉你的意思是 : 没有什么js代码不是服务端生成的.
如果你这样认为那只能说明我俩对"生成"这两个字的定义不同.
当然,也许按你的理解, jsp内写的所有的html和js都可以理解为服务器端生成,对吧?
10 楼
zb1015
2007-09-13
fins 写道
服务器端生成js代码返回客户端,由客户端调用(直接调用或eval)似乎已经成为了一种很正常的做法(是否流行我不知道).
请说明一下,那些js代码不是有服务器端生成
9 楼
fins
2007-09-13
如果不用tag就用js, 或者直接用 <% .... %> 呵呵
其实本质上 jsp文件就是 "服务器端生成HTML"的典型
但是对于他实在很难说讨厌或是喜欢.
我想也许把 jsp看成是 b和s的中间件比较合适吧 呵呵
其实本质上 jsp文件就是 "服务器端生成HTML"的典型
但是对于他实在很难说讨厌或是喜欢.
我想也许把 jsp看成是 b和s的中间件比较合适吧 呵呵
8 楼
z_jordon
2007-09-13
那实在是佩服你居然用你厌恶的tag把ecside做了出来,如果不用tag,同样实现ecside不知道你有什么更好的方法.在客户端使用js动态生成表格的方法吗?
7 楼
dengyin2000
2007-09-12
听说刚放出来的gwt1.4不错。 有机会看看去。。
6 楼
dengyin2000
2007-09-12
fins 写道
我觉得用java写js 这种行为本身是否合适 是个值得探讨的问题
但是 我也知道 这样的问题是探讨不出什么结果的 呵呵
只能是仁者见仁了
总之我是不喜欢啦 直接写js多爽.
但是 我也知道 这样的问题是探讨不出什么结果的 呵呵
只能是仁者见仁了
总之我是不喜欢啦 直接写js多爽.
呵呵。 可能我javascript不太行 所以对java有些偏爱。 不过gwt对一些不熟悉javascript的人的贡献还是蛮大的。 写java比写javascript爽吧。IDE的支持强多了, 特别是Refactor。
5 楼
fins
2007-09-12
我觉得用java写js 这种行为本身是否合适 是个值得探讨的问题
但是 我也知道 这样的问题是探讨不出什么结果的 呵呵
只能是仁者见仁了
总之我是不喜欢啦 直接写js多爽.
但是 我也知道 这样的问题是探讨不出什么结果的 呵呵
只能是仁者见仁了
总之我是不喜欢啦 直接写js多爽.
4 楼
dengyin2000
2007-09-12
fins 写道
先说些与标题貌似无关的话.
多说一句,GWT如果设计成是在运行期生成最终html/js代码的,那么他将是愚蠢的,幸好他们没那么,但是现在的他离愚蠢也不远.
多说一句,GWT如果设计成是在运行期生成最终html/js代码的,那么他将是愚蠢的,幸好他们没那么,但是现在的他离愚蠢也不远.
你这句怎么理解? gwt的rpc server有生成一大堆的js让client端调用? 我感觉gwt还是把server端跟client端分得很清楚的。 我想他只是帮你做了把java object mapping到 javascript object。 其实我还是比较喜欢gwt的这么模式。
3 楼
抛出异常的爱
2007-09-12
引用
DWR传过来的JS,实际上的只是扮演着"service对应的url","service需要的参数","service调用结束后要做的事情"这些参数所扮演的角色.
深得精髓,不过为了卖概念就是要骗人的。骗人骗多了自己也就信了。
发表评论
-
一个商业公司如果要支持一个开源项目的话,它需要做哪些工作啊?
2009-12-07 16:55 5022一个商业公司如果要支持一个开源项目的话,它需要做哪些工作呢? ... -
如何让jxl (jexcelapi) 支持更多的数据
2009-01-08 23:52 4526jxl (jexcelapi) 一直是我比较喜欢的 java版 ... -
在java中"模拟" XMLHttpRequest
2008-11-03 12:17 13122这里所说的"模拟" 是指 : 在java中 ... -
利用google docs进行"轻量级过程管理".
2008-08-28 13:21 0利用google docs进行" ... -
[请教]jxl生成xls时,支持"合并"或"磁盘缓存"吗(导出大数据量时)
2008-07-28 09:37 6966jxl 由于其小巧 易用的特点, 逐渐已经取代了 POI-ex ... -
不错的国产开源免费的php框架: FleaPHP
2008-07-28 01:58 8532之前用他开发过一个小的网站 开发过程非常轻松愉快 体验也很好 ... -
GT-FrontController, 一个简陋的MVC控制器的设计思路
2008-07-06 23:53 2738在给GT-Grid做前后台结合的例子时, 为了"快速 ... -
h2database 普及系列一: 简介
2008-05-06 19:10 22139这不是一个新东西,但是 ... -
JSF 与 "我的伟大发明" ---- 关于B/S UI开发的胡言乱语
2008-04-10 14:25 14546这篇帖子后面的回复和 ... -
初看JSF后的胡言乱语
2008-04-10 09:31 4589最近看了一点jsf ---- 只 ... -
Help,如何在J2EE环境下使用Sqlite以及如何将sqlite打入war包
2008-03-27 09:46 3811需求是这样的 希望j2ee应用(基于应用 而不是整个服务器) ... -
请记住: i AM SoLiD. (关于View的事件触发顺序)
2007-11-16 04:11 2648View 提供了若干事件. 在渲染 布局 展现 相关事件的触 ... -
Android SDK下, 如何在程序中输出日志 以及如何查看日志.
2007-11-15 22:38 9854Android SDK下, 如何在程序中输出日志 以及如何查看 ... -
小胖加入Android Fans的 大军了 呵呵
2007-11-15 13:30 3161决定开始研究 Android 了. 以前研究过 j2me 对 ... -
老帖: findbugs简介
2007-11-02 10:09 3571这个时候说 findbugs ??? ... -
[求助]有没有哪个缓存组件支持 基于访问频率的清理策略
2007-08-29 18:30 2413目前缓存清理策略几乎都是基于 存活期 和 活跃期 还有缓存队列 ... -
[发布2007-08-06]Ajax向导组件 WebWizard Component Beta1
2007-08-06 15:55 5007/****************************** ... -
寻求一个eclipse下更好的snippet插件(或代码模板管理插件 或代码生成器)
2007-07-26 11:12 4266eclipse自带一个snippet插件,但是功能有限. 只支 ... -
让Struts 1焕发青春----小议对Struts的改造.
2007-06-25 15:27 7616目前流行的新型的MVC框架 几乎都在"增强单元测试能 ... -
JProfiler与tomcat整合的视频演示
2007-06-20 12:16 8713这类东西看官方文档 或者google都能有答案 但是我最近为 ...
相关推荐
3. A、B、C的关系涉及到部分包含和排斥,需要通过三个圆圈的相交和非相交部分来表示。 **推理的逻辑形式及正确性**: 1. 这个推理涉及到工人与施工现场知识的关联,需要分析具体的逻辑形式并检验是否符合有效的推理...
根据给定的信息,我们可以从不同角度来探讨与“B级考试句型”相关的知识点,主要集中在英语句型、表达方式以及如何运用这些句型来更好地准备全国英语B级考试。 ### 一、句型理解与应用 #### 1. 描述问题及关注点 ...
街市上陈列的一些物品,定然是世上没有的珍奇。你看,那浅浅的天河,定然是不甚宽广。那隔着河的牛郎织女,定能够骑着牛儿来往。 - ③月光淡淡,笼罩着村外的松林。白云团团,漏出了几点疏星。 - ④夜色加浓,苍穹...
11. **such和so的用法**:`He’s very happy to get ______ interesting book.` `such`修饰名词短语,`so`修饰形容词或副词。`an interesting book`是名词短语,所以用`such`,答案是`B`。 12. **条件状语从句的...
6. 名言警句:第六题涉及了名言警句的记忆和应用,如"世上无难事,只怕有心人",这有助于学生积累语言素材和提升人文素养。 7. 关联词运用:第七题让学生填入适当的关联词,如"不但...而且...","虽然...但是...",...
8. 名言警句应用:选择合适的名言进行劝导,如"世上无难事,只怕有心人"鼓励面对困难要有毅力和决心。 9. 诗词理解:通过诗词理解寓意,"问渠那得清如许?为有源头活水来"借水之清澈,是因为有源头活水不断注入,比喻...
**有头就用上两格,b,d,h,i,k,l和t。** - **解释**:这些字母上方有突出的部分,因此占据上两格。 - **实例**:“b”、“d”、“h”等字母的头部高出中间格。 **有尾就占下两格,g,p,q,y要记着。** - **解释**:...
- 4)世上没有十全十美的人。Translation: Nobody is perfect in the world. - 5)擦去你的眼泪,哭是没有用的。Translation: Wipe away your tears; crying won't help. - 6)多数人已开始认识到,如果要确保...
例如,引号内的句子应该正确使用逗号和冒号,如选项B中"我,"第二粒豌豆说:"我将直接飞进太阳里去。"这里的逗号使用错误,应该是"我",第二粒豌豆说,“我将直接飞进太阳里去。” 5. 破折号的作用:破折号可以表示...
- 绝无声色臭味可好(jué wú shēng sè xiù wèi kě hǎo):没有任何声音、颜色、气味值得喜爱。 - 孑孑然(jié jié rán):孤单的样子。 - 蓊然(wěng rán):茂盛的样子。 - 裘马(qiú mǎ):穿...
- 没有科学的发展,我们的生活肯定是不同的。Our lives would certainly be very different without scientific development. - 科学发现正使我们的生活越来越好。Scientific discoveries are making our lives ...
这部分要求学生识别并组词,如“瓣”和“辩”,“钓”和“钩”,“苍”和“抢”,“郊”和“察”,“衔”和“街”,“墓”和“腹”,“脊”和“暮”,“复”和“背”,以及“调”和“朝”,“参”和“系”,“shēn...
- 选择正确读音:这部分要求学生识别并选择汉字的正确读音,如"扫地"的正确读音是"sǎo dì","附近"的正确读音是"fù jìn","激起"的正确读音是"jī qǐ","挨着"的正确读音是"āi zhe","播种"的正确读音是"bō ...