关于RCP与Web交互的一些设计思路

      使用的Web框架是Spring MVC,并利用其CoC基础设施,实现了一个MultiActionController,名为RichEditorController,然后可以直接设计URI,这些URI将成为利用SWT Browser组件和在Spring MVC中做表述性状态转移的的API。其实我应该好好的写一个设计文档,但是我又不是很喜欢郑重其事的拿个Word来做这件事,因此就随手在这里边想边写,这也算是对URI驱动设计的一种尝试。不过我并没有使用Spring3对于REST的支持,即/blog/{id}/edit这样的URI,从我的文章对比REST之前和REST之后的URI映射可以看出,我对于REST是否一定要这种模式的URI持怀疑态度。

      显示新增页面 richeditor/new

      保存  richeditor/save。对于是新增还是修改,需要借助Form中的一个隐藏域,<input type='hidden' id='id'  value='<%=id%>'/>,将id置于表述之中而不是URI中,传给Web服务器,这样做是因为表述包含了我要传递的数据,将相当于RPC(远程过程调用)中的数据对象,然后借用Hibernate中saveOrUpdate的思想,如果该id==null则意味着新增,否则意味着修改。

      显示阅读页面richeditor/diplay?id=123

      显示修改页面richeditor/edit?id=123

      由于引入了FCKEditor,因此我将url-pattern设为"/",就无法显示FCKEditor了,原因应该是FCKEditor内部调用html,js之类的都不能正常映射。因此我还是加了.htm后缀。

 

      由于REST在现代Web中的应用是通过URI传达语义,通过HTTP操纵和转移表述来控制资源的,而在控制器接口中,表述是可选的,那么统一接口就应该如下所示:

      public [响应的控制数据] 连接器接口 (请求的控制数据 data,资源标识符 uri)

 

       实际上,我基本上就是依靠URI来作为接口的参数了。

       在RCP里嵌套浏览器的话需要用SWT Browser组件,简单的方法就是创建Browser对象,然后setURL。返回HTML,接下来用户就使用HTML页面选择链接进行状态转移了。其中id就是表单的代理主键~~~

 

     OK了~~

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值