powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / spring, jsp, controller
2 сообщений из 2, страница 1 из 1
spring, jsp, controller
    #38763892
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проект на Spring MVC

Организован таким образом:
В папке WEB-INF/jsp: лежат файлы *.jsp (подпапок нету, но хочу разложить *.jsp файлы по папкам)
Например: WEB-INF/jsp/admin, WEB-INF/jsp/view.

Контроллер для view:
Код: java
1.
2.
3.
4.
5.
6.
7.
@Controller
public class ViewController {
	@RequestMapping({"/view"})
	public String doLogin(){
		return "view";
	}
}


security-context.xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
    <http use-expressions="true">
        <intercept-url pattern="/" access="isAuthenticated()"/>  
        <intercept-url pattern="/index" access="isAuthenticated()"/>
        <form-login login-page="/login" default-target-url="/index" authentication-failure-url="/login"/>    
        <logout logout-url="/logout" logout-success-url="/index"/> 
        <intercept-url pattern="/admin" access="hasRole('Admin')"/>
        <intercept-url pattern="/view" access="hasRole('Admin') or hasRole('User')"/>
        <access-denied-handler error-page="/accessdenied"/>
    </http>
...


spring-servlet.xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
...
	<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
	    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
	    <property name="prefix" value="/WEB-INF/jsp/"/>
	    <property name="suffix" value=".jsp"/>
	</bean>
...


Сейчас получается все jsp-файлы лежат в одной папке. И для каждого jsp-файла нужно отдельно прописывать доступ в security-context.xml.
Я хочу распределить(организовать) jsp-файлы по папкам (Например: WEB-INF/jsp/admin, WEB-INF/jsp/view)
Это позволит прописывать доступ сразу для многих страничек из одной категории. Например:
Код: xml
1.
<intercept-url pattern="/view/**" access="hasRole('Admin') or hasRole('User')"/>


Но меня смущает то, что в контроллере нужно будет писать (по моему мнению) не совсем красиво:
Код: java
1.
2.
3.
4.
5.
6.
7.
@Controller
public class ViewController {
	@RequestMapping({"/view/view"})
	public String doLogin(){
		return "view/view";
	}
}


Не нравится то, что в return возвращается такое - "view/view", а хотелось бы просто "view";

Можно ли jsp-файлы распределить по папкам, и при этом написать контроллер так - чтоб возвращал просто "view"?
Или хранить все jsp-файлы в одной jsp-папке?
Как правильно сделать?
...
Рейтинг: 0 / 0
spring, jsp, controller
    #38765206
Pavel Kurakin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. у Вас две разных страницы view?
Ну сделайте два контроллера
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@Controller
@RequestMapping({"/view"})
public class ViewControllerOne {
	@RequestMapping({"/view"})
	public String doLogin(){
		return "view";
	}
}


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@Controller
@RequestMapping({"/admin"})
public class ViewControllerTwo {
	@RequestMapping({"/view"})
	public String doLogin(){
		return "view";
	}
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / spring, jsp, controller
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]