我有一个 Angular 6 应用程序。一开始只是一个页面(比如说“搜索页面”),所以我把app.component.html中的页面内容以及相关功能等放到了app.component.ts中。所以搜索页面是在appComponent中。现在我被要求添加另一个页面(登录页面)。所以,现在页面第一次加载时需要打开的第一个页面是登录页面。如果登录成功,则应打开“搜索页面”。
我是 Angular 的新手,所以我查看了一些路由和导航教程并应用了他们正在做的事情。问题是,现在当页面首次加载时,它会同时打开 LoginComponent 和 AppComponent(搜索页面)。位于页面登录屏幕顶部和搜索屏幕下方。另外,如果我转到“/search”,那么这次会有两个搜索页面,一个在另一个页面下。
所以我有一个额外的搜索页面。我发现问题是搜索页面位于应用程序组件中。我猜应用程序默认加载此组件。我想要的是我想首先显示LoginComponent(当页面首次加载时),如果登录成功,导航到搜索页面。
这是我为添加路由所做的操作:
我添加import {RouterModule} from '@angular/router';到我的app.module.ts
我还在这样的导入中添加了 RouterModule (再次在app.module.ts中)
imports: [
RouterModule.forRoot([
{path: '', component: LoginComponent},
{path: 'search', component:AppComponent}
])
],
Run Code Online (Sandbox Code Playgroud)添加到app.component.html<router-outlet></router-outlet>中。这个HTML文件包含我的搜索页面内容,如导航栏、表格等。在它的开头,我放置了路由器行(我知道放在我的搜索页面中是错误的,但在我观看的教程中,他放置了app.component。我猜想我的双页的原因是这个 HTML 文件,但无法让它在其他地方工作。)<router-outlet></router-outlet>
在login.component.html中,登录页面内容,当然还有带有 (click)="onLogin()" 的登录按钮
如果登录成功,login.component.ts包含 onLogin 函数this.router.navigate(['/search']);
最后在我的 index.html 中我调用了 body 内的 appcomponent<app-root></app-root>
现在,登录导航可以工作,但正如我所说,带有 URL 的初始页面:“ http://localhost:4200/ ”包括登录页面和搜索页面。另外,URL:“ http://localhost:4200/search ”包含两个搜索页面。
我有一个Web应用程序,其中3个输入来自用户,并在单击搜索按钮后显示结果.三个输入是; id(不唯一),startdate和enddate.我希望能够在这些情况下得到结果:如果用户输入
在我的StudentManager.java类中,我有一个如下所示的SQL字符串;
final String SQL_STU = " select "
+ " t.name,"
+ " t.surname, "
+ " t.lecture,"
+ " from studenttable t "
+ " where t.school = 'CHC' "
+ " and t.id = case when '" + studentInfo.getID() + "'" +" is null then t.id else '" + studentInfo.getID() + "' end "
+ " and t.enrolldate >= case when '" + studentInfo.getStartDate() + "' is null then t.enrolldate else …Run Code Online (Sandbox Code Playgroud) 我正在尝试在java类中获取SQL查询的结果集.问题是我的表的第一行永远不会显示在我的UI上.所以我调试了它.
当第一次执行while循环时,while(rs.next)行执行然后它不进入循环,返回到while循环的开头并while(rs.next)再次执行行,现在它进入while循环并设置结果集.
但由于它没有在第一次进入循环,我的表的第一行没有设置到结果集中.
我在这里找不到问题.
我试过do{} while(rs.next)但有时它会抛出疲惫的结果集异常
String SQL_QUERY = select * from my_table;
Statement stt = null;
stt= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE,
ResultSet.HOLD_CURSORS_OVER_COMMIT);
ResultSet rs = stt.executeQuery(SQL_QUERY);
if (rs != null) {
rs.absolute(startRow); // I need to go to some specific row according to users request that is why I used this
}
while(rs.next){
// rs.getString...
}
Run Code Online (Sandbox Code Playgroud)