В частности, по вашему вопросу:
можно ли перенаправить маршрут без параметров запроса на маршрут с параметрами запроса?
blockquote>Не думаю, что это может сработать поскольку ? в запросе есть разделитель, который не является частью строки запроса URL.
Альтернатива 1 - поскольку вы используете ngrx, один из способов сделать это - использовать пользовательский сериализатор. Документы с сайта ngrx.io показывают пример возврата параметров с сериализацией. Здесь вы можете добавить логику, чтобы добавить параметры по умолчанию, если они не существуют. Я откажусь от того, что это может быть менее идеальным, потому что оно срабатывает на каждом маршруте, но может упростить ваши маршруты.
import { Params, RouterStateSnapshot } from '@angular/router'; import { RouterStateSerializer } from '@ngrx/router-store'; export interface RouterStateUrl { url: string; params: Params; queryParams: Params; } export class CustomSerializer implements RouterStateSerializer
{ serialize(routerState: RouterStateSnapshot): RouterStateUrl { let route = routerState.root; while (route.firstChild) { route = route.firstChild; } const { url, root: { queryParams }, } = routerState; const { params } = route; // Add here if ( && queryParams.page === undefined) { queryParams.page = 0; } // Only return an object including the URL, params and query params // instead of the entire snapshot return { url, params, queryParams }; } } Альтернатива 2 - Вы можете обернуть HttpClient или, что более предпочтительно, создать общий метод списка страниц, который проверяет это и добавляет его в запрос, если страницы нет. Этот ответ показывает пример того, как добиться добавления параметров.
Альтернатива 3 - Вы можете использовать страницу как часть пути и выполнять обходные пути / изменения по мере необходимости для генерации ваших запросов.
{ path: 'user/:userId/agent', redirectTo: '/user/:userId/agent/0', pathMatch: 'full' }, { path: 'user/:userId/agent/:page', component: AgentListComponent },
Короткий ответ:
<c:out value="${myString}"/>
существует другая опция:
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
${fn:escapeXml(myString)}