|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
比来在做的一个ROR的web项目中碰到以下成绩:
产物能够按类分类导航扫瞄,次要能够分为A,B,C三类,三类之下另有其他分类,同时,基类和其下的分类都能够由用户扩大。从横向上,主类能够由用户扩大,纵向上,用户也能够扩大。
种别信息存储与categories表中:
id:integer 主键
name:string 种别称号
parentid:integer 种别的父类
请求:
天生导航菜单,而且能够含有子类的菜单能够经由过程点击睁开或封闭,而且能够按种别导航产物。
完成RubyonRails导航菜单:
经由过程深度优先遍向来天生菜单,在便当过程当中构建菜单的html编码,次要是利用了一个@htmlmenu的string来拼接天生的html代码,终极显现在页面中。
RubyonRails导航菜单代码:- def index
- @htmlmenu=""
- @htmlmenu+= "< ul>"
- @root = Category.find(:all,:conditions=>[parentid=0])
- @root.each { |item|
- if Category.find_by_parentid(item.id)
- @htmlmenu+= "< li>< a href=#ChildMenu#{item.id} onclick="DoMenu
- (ChildMenu#{item.id})">"
- else
- @htmlmenu+= "< li>< a href=/categories/#{item.id}>"
- end
- @htmlmenu+= item.name
- @htmlmenu+= "< /a>"
- buildmenu item
- @htmlmenu+= "< /li>"
- }
- @htmlmenu+= "< /ul>"
- end
- private
- def buildmenu category
- @children = Category.find_all_by_parentid(category.id)
- if @children.size!=0
- @htmlmenu+= "< ul id=ChildMenu#{category.id} class=collapsed>"
- @children.each { |item|
- if Category.find_all_by_parentid(item.id).size!=0
- @htmlmenu+= "< li>< a href=#ChildMenu#{item.id}
- onclick="DoMenu(ChildMenu#{item.id})">"
- else
- @htmlmenu+= "< li>< a href=/categories/#
- {item.id}>"
- end
-
- @htmlmenu+= item.name
- @htmlmenu+= "< /a>"
- buildmenu item
- @htmlmenu+= "< /li>"
- }
- @htmlmenu+= "< /ul>"
- end
- end
复制代码 <p>
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 |
|