JBoss SeamでREST形式URI
http://172.20.8.181:8080/proto/rest/2
でid=2の商品の詳細情報を直接表示したりする方法。
[war]/WebContent/WEB-INF/components.xml
<!-- use rewrite --> <web:rewrite-filter view-mapping="*.seam" />
[war]/WebContent/rest.page.xml(page.xmlでも可)
<?xml version="1.0" encoding="UTF-8"?> <page xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"> <begin-conversation join="true" /> <rewrite pattern="/rest/{restId}" /> <rewrite pattern="/rest" /> <param name="restId" value="#{bean.id}" /> <action execute="#{testAction.showDetailById(bean)}" /> <navigation> <rule if-outcome="detail"> <render view-id="/xhtml/test_detail.xhtml" /> </rule> </navigation> </page>
URIの{restId}部分をbeanに入れてそれでActionを呼ぶ。
beanは普通のPOJOクラス。