[mayaa-user:239] Re: 継承元の要素の表示/非表示の切替について

m.matsuo smoochynet @ gmail.com
2006年 8月 2日 (水) 14:48:48 JST


松尾です。

すばやいご回答ありがとうございます。

下記のように設定したつもりですが、上手くいきませんでした。非表示にしようとしても表示されてしまいます。

以下ファイル内容です。設定に間違いがありましたらご指摘願います。

menu.html
<m:if m:id="menu" m:test="${request.menuVisible}" />
<div id="menu">
	<div class="module">
		<div class="moduletitle">
			<p>メニュー</p>
		</div>
		<div class="modulebody">
			<ul>
				<li><a href="#" id="menu1">menu1</a></li>
				<li><a href="#" id="menu2">menu2</a></li>
				<li><a href="#" id="menu3">menu3</a></li>
			</ul>
		</div>
	</div>
</div>

test.mayaa
<?xml version="1.0" encoding="UTF-8"?>
<m:mayaa xmlns:m="http://mayaa.seasar.org"
		m:noCache="true"
		m:extends="/pages/layout/layout.html">
	<!-- メニューを表示する -->
	<m:beforeRender>
		request.menuVisible = true;
	</m:beforeRender>
	<m:doRender id="title" name="title">
		TestTtitle
	</m:doRender>
	<m:doRender id="content" name="content" />
	<m:write id="contenttitle" value="①Ⅰ㍉㌔㌢№℡㈱髙" replace="false" />
</m:mayaa>

test2.mayaa
<?xml version="1.0" encoding="UTF-8"?>
<m:mayaa xmlns:m="http://mayaa.seasar.org"
		m:noCache="true"
		m:extends="/pages/layout/layout.html">
	<!-- メニューを非表示にしてみる -->
	<m:beforeRender>
		request.menuVisible = false;
	</m:beforeRender>
	<m:doRender id="title" name="title">
		TestTtitle
	</m:doRender>
	<m:doRender id="content" name="content" />
	<m:write id="contenttitle" value="①Ⅰ㍉㌔㌢№℡㈱髙" replace="false" />
</m:mayaa>

この場合、test.html,test2.htmlともにメニューが表示されてしまいます。

度々お手数をお掛けして申し訳ありませんがよろしくお願い致します。

06/08/02 に suga <ko.suga @ gmail.com> さんは書きました:
> suga です。
>
> On 8/2/06, m. matsuo <smoochynet @ gmail.com> wrote:
> > レイアウトを定義したlayout.mayaaでm:insertした一部の要素を、layout.htmlを継承した.mayaaファイルで表示/非表示の切替を行いたいのですが、可能でしょうか?
>
> page スコープや request スコープに表示制御のための変数を
> 定義し、insert される側でその変数を参照する形で実現できます。
> 方法は他にもありますが、わかりやすいのはこのやりかたでしょう。
>
> たとえば、以下のような形で実現できるでしょう。
>
> ・test2.mayaa の beforeRender などで request.menuVisible = true
> のように宣言する (あるいは Struts 内で request.setAttribute とか)
> ・menu.html の表示非表示を切り替える部分を m:if などで
> 制御する (例: <m:if m:id="fooMenu" m:test="${ request.menuVisible  }" />)
>
> ユーザがログインしていて、その権限情報がセッション内に
> あるならばそれを参照する方が自然かもしれません。
>
> --
> suga ( ko.suga @ gmail.com )
> _______________________________________________
> mayaa-user mailing list
> mayaa-user @ ml.seasar.org
> https://www.seasar.org/mailman/listinfo/mayaa-user
>


mayaa-user メーリングリストの案内