- - PR -
struts開発にて特定画面だけをsubWin表示する方法
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-16 10:50
別画面にforwardするhtmlタグが、うまく動作せずに悩んでいます。
もちろん自分でも引き続き調べますが、 下記の情報で何かまずい部分にお気づきでしたら ぜひアドバイスお願い致します。 ●やりたいこと。 "ある特定の画面のみ"、画面遷移ではなく別ウィンドウで一覧表示をしたい。 ボタンクリックで選ばれているIDを取得し、そのIDをもとに一覧を作成します。 ●Struts-config.xmlの Global forwardsの定義状態 <glocal-forwards type="sFare.action.SAction"> <!-- タイプ指定しなくても同じエラーです --> <forward name="userList" path="/UserList.jsp" /> <!-- 本来は、jspではなく/s03.doとしたいところですが、手始めにjspとしています。 --> </glocal-forwards> ●jpsの中で別画面表示のjavascriptを記述 wd = window.open("<html:rewrite forward="userList"/>","", "status=no,menubar=no,toolbar=no, titlebar=no, width=430,height=580"); ●状況 <html:rewrite forward="userList">で、うまくファイルを取得できない状態。 <html:rewrite page=〜>でjspやアクションを指定すれば、動作する。 → global forwardsの設定がうまくいかないように考えて あれこれ設定を試しているのですが、うまくいきません。 ●エラー内容 javax.servlet.ServletException: Cannot create rewrite URL: java.net.MalformedURLException: Cannot retrieve ActionForward named userList org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800) org.apache.jsp.BusFare_jsp._jspService(BusFare_jsp.java:216) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069) org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) javax.servlet.http.HttpServlet.service(HttpServlet.java:763) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) ●Struts-config.xmlのactionクラスのマッピング状態(念のため書いておきます) <action attribute="s03Form" input="/s03.jsp" name="s03Form" path="/s03" type="sFare.action.SAction" unknown="true" validate="false"> <forward name="success" path="/sFare.jsp" /> <forward name="userList" path="/UserList.jsp" /><!-- 画面遷移のなごり。これはうまくいく --> </action> | ||||||||
|
投稿日時: 2005-03-16 11:39
るぱんです。
HTML側のJavaScriptでPOPUPさせて呼び出すものではないでしょうか? StrutsにPOPUPの判断をさせるのは酷だと思います。 リンクから遷移の場合
ボタンからOnClickの場合
こんなかんじでしょうか? | ||||||||
|
投稿日時: 2005-03-16 11:59
るぱん様、早速のお返事どうもありがとうございます。
アドバイスいただいた >test(form){ > form.action="url"; > form.target="_blank"; > form.submit(); >} というコードは思いつきませんでした。 ここで_blankと指定すれば、ボタンごとに遷移か別画面かを切り替えられるのですね! とても勉強になります。 自力では、configでアクションを切り分け、 それをpage指定することによって希望の動作を作り込めたのですが、 るぱん様の方法を試させていただこうと思います。スマートですものね。 どうもありがとうございました。 |
1