sitemeshについてはstruts 2のactionを飾らずにページ解決策に戻ります.


時々struts 2の戻りページをする時、sitemeshにactionで戻ってくる特定のページを飾ってほしくないです.例えば、エラーページや自分で書いた404ページです.sitemeshはurlによって装飾がされているかどうかを判断します.もしあなたが提出したactionが既に飾られていたら、このactionが戻ってきたresultページは自然に装飾されています.この時点でアドレスバーのurlは変わりません.もし私達がこの時戻ってきたページを飾りたくない場合、以下の解決策があります.
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にセットしてもいいようですが、試してみませんでした.興味のある方は試してみてください.ありがとうございます.初めての投稿です.よろしくお願いします.