유형 수준 와일드 카드 요청 매핑 및 void 및 도메인 객체 반환에서 파생 된 스프링 논리보기 이름에 대한 질문. 나는Spring 3.1 유형 수준 요청 매핑 및 논리보기 이름
@Controller
class HomeController
{
@RequestMapping(value="/")
public void index() {}
}
논리적 뷰 이름 생성 스프링스 방법의 나의 이해는 위의 컨트롤러가 난 후, 예를 들어, 아파치 타일을 사용할 수있는 논리적 뷰 이름 "인덱스"를 "/"지도 것입니다 다음 한 말 적절한 jsp 뷰와 일치시킵니다. 마찬가지로
,이, (하지만 난 뭔가를 놓친 것 같아 ...)@Controller
@RequestMapping("/collection/*")
class CollectionController
{
@Autowired
private SomeService someService;
@RequestMapping(method=RequestMethod.GET)
public List<Item> list()
{
// in my understanding
// itemList should be available in the model (via generated name),
// that the logical view name generated should be
// collection/list and that this method
// would intercept the url "/collection/" or "/collection"
return someService.getItems();
}
@RequestMapping("/{itemId}")
public Item item (@PathVariable final String itemId)
{
// similiarly, item should be available in the
// model and the logical view name should be
// collection/item
return someService.getItem(itemId);
}
}
것입니다 스프링스 논리적 뷰 이름 생성에 대한 이해를 보여줍니다 목록 방법으로 해결되지 않는다 있다는 것입니다 ' 대신에 논리적 뷰 이름이 "collection"으로 나타납니다 (논리적 뷰 이름이 "collection/list"가되도록 정의했습니다.) 'item'메소드는 작동합니다. 색인 페이지는 막연한 질문을 던져서 미안합니다. 다른 방법을 쓰는 방법을 모르십니까?
스프링 논리적 뷰 이름 생성 fr을 어떻게 활용할 수 있습니까? 논리적 뷰 이름을 정의하기 위해 문자열을 반환하지 않고 유형 수준에서 와일드 카드 URL을 기반으로 메서드 이름을? 위의 내용은 예상대로 작동하지 않습니다. 내가 뭘 놓치고 있니?
UPDATE :
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter
{
static private String [] TILES_DEFINITIONS= new String [] { "/WEB-INF/layouts/tiles.xml", "/WEB-INF/views/**/tiles.xml"};
/* static resource resolution */
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
{
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
/**
* ViewResolver configuration required to work with Tiles2-based views.
*/
@Bean
public ViewResolver viewResolver()
{
UrlBasedViewResolver viewResolver= new UrlBasedViewResolver();
viewResolver.setViewClass(TilesView.class);
return viewResolver;
}
/**
* Configures Tiles at application startup.
*/
@Bean
public TilesConfigurer tilesConfigurer()
{
final TilesConfigurer configurer= new TilesConfigurer();
configurer.setDefinitions(TILES_DEFINITIONS);
configurer.setCheckRefresh(true);
return configurer;
}
}
그리고 내 타일 폴더 구조 VIEWNAME는 뷰 이름 (!) 미안 볼 경로가보기위한 것입니다
src/main/webapp/layouts (contains base page.jsp)
및
src/main/webapp/views/[VIEWNAME]/tiles.xml
입니다 이름은 tiles.xml 폴더에 정의됩니다. 희망은 물건을 명확하게 ...
보기를 렌더링하기 위해 ViewResolver를 어떻게 구성했는지 보여줄 수 있습니까? 내가 대답 할 수있는 것을보고 나서. –
일본에 가면 도움이됩니다. 감사합니다. – VLostBoy