我搜索了创建多页面(物理页面,如index.jsp,page1.jsp,page2.jsp等),但我没有找到任何有用的东西。所以我开始尝试自己实施。
我在以下名称中创建了单独的jsp / html文件:index.jsp(包含仪表板页面),customer,page2等。我为每个页面创建了seprate路由器,以便在该单页内部路由各种视图。
我创建了一个如下所示的顶级菜单栏。
<ul>
<li><a href='index.jsp' class="dashboard">Dashboard</a></li>
<li><a href="customer.jsp">customer</a></li>
<li><a href="page2.jsp">Page2</a></li>
<li><a href="page3.jsp">Page3</a></li>
<ul>
当我点击那些“li”并且我有两个按钮来列出客户并在客户页面中创建新客户时,点击该按钮我将路由到客户/列表(customer.jsp #customer / list)和客户/新(customer.jsp #customer / new)在路由器中并加载相应的视图。到目前为止没有任何问题,我认为创建多页骨干应用程序很容易。
当我在顶部菜单栏中添加子菜单时,我遇到了麻烦,如下所示。
<ol class="nav">
<li><a href='index.jsp' class="dashboard">Dashboard</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="customer.jsp">Customer</a>
<ul class="dropdown-menu">
<li><a href="customer.jsp#/customer/list"> Customer List</a></li>
<li><a href="customer.jsp#/customer/new"> New Customer</a></li>
</ul>
</li>
<li><a href="page2.jsp">Page2</a></li>
<li><a href="page3.jsp">Page3</a></li>
<ol>
麻烦我:
当我从index.jsp点击Customer List时,它会完美地重定向到该url并加载内容,当我从Customer List页面单击Customer New时,url会被更改,但只有当我单击refresh按钮时才会更改内容在我的浏览器中。
当我首先单击Customer New然后单击Customer List页面时,情况也是如此。换句话说,第一个网址重定向有效,以下网址重定向仅适用于点击刷新按钮。
由于我是这个骨干世界的新手,我无法自己解决这个问题。经过一天的谷歌搜索,我发布了这个帖子。有人可以帮我解决这个问题。
在多页(物理)上移动的理由
1)避免加载特定页面不需要的视图js文件。(例如,仪表板加载客户页面,页面1等所需的所有视图j。)
答案 0 :(得分:0)
您的JS文件会被浏览器缓存,因此仅使用多个页面以避免一次性加载它们并不是一个好主意。相反,你应该将你的js文件缩小并压缩到每个页面上包含的单个js文件中。
如果你使用maven,一个好的java缩小器是https://github.com/samaxes/minify-maven-plugin
至于为什么你的内容正在改变,我需要看你的js