sitemeshについてはstruts 2のactionを飾らずにページ解決策に戻ります.
時々struts 2の戻りページをする時、sitemeshにactionで戻ってくる特定のページを飾ってほしくないです.例えば、エラーページや自分で書いた404ページです.sitemeshはurlによって装飾がされているかどうかを判断します.もしあなたが提出したactionが既に飾られていたら、このactionが戻ってきたresultページは自然に装飾されています.この時点でアドレスバーのurlは変わりません.もし私達がこの時戻ってきたページを飾りたくない場合、以下の解決策があります.
struts.xmlの部分構成:
上記の解決策以外にも、ユーザーのヒントによって、リセットのtype="redirect"をactionにセットしてもいいようですが、試してみませんでした.興味のある方は試してみてください.ありがとうございます.初めての投稿です.よろしくお願いします.
struts.xmlの部分構成:
<action name="toIndex" class="indexAction" method="toIndex">
<result name="index">/main.jsp</result>
<result name="error">/error.jsp</result>
</action>
私たちは上のerror.jspに飾りたくないです.それではerror.jspページにメータを追加します.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<!-- sitemesh :content="none" decorators.xml name="none" -->
<meta name="decorator" content="none"/>
<title> </title>
</head>
その後、decorators.xmlに配置してください.
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/layout">
<decorator name="none">
<pattern>/error.jsp*</pattern>
</decorator>
</decorators>
上のname=「none」はerror.jspページのmeta「content」の属性値と同じです.はい、配置が終わったら、試してみます.きっともう装飾されません.上記の解決策以外にも、ユーザーのヒントによって、リセットのtype="redirect"をactionにセットしてもいいようですが、試してみませんでした.興味のある方は試してみてください.ありがとうございます.初めての投稿です.よろしくお願いします.