发布一篇Ruby on Rails导航菜单主动天生的办法
首先第一点: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=>)
@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的复杂性。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 Java 编程语言的风格十分接近C、C++语言。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 Java 编程语言的风格十分接近C、C++语言。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
页:
[1]