2017-12-28 59 views
0

.jspを呼び出す、次のように私が.htmlのファイルを持っている:Web StartのJavaFXアプリケーションにパラメータを渡す方法

<html> 

    <head> 
    </head> 
    <body> 


<FORM method="post" ACTION="http://localhost/science_city_video_1/Science_City_2.jsp" name="search_push"> 
      <input type="hidden" name="video" value="Science_City_Video_1"> 

<input type="hidden" name="video_description" value="This is the First Video of Science City Cross Roads"> 

        <A href="javascript:document.search_push.submit()" class="style18" > 
        This is our First Video of Science City Cross Roads 

        </A> 

     </form> 


    </body> 
</html> 

JSPファイルは、以下のようにしているWeb StartのJavaFXアプリケーションを開始する必要があり、クリックすると:

<html><head> 


<script> 


    function launchApp() { 
     dtjava.launch(
      { url: 'Science_City.jnlp' 
       params: { 
          video: "<%=request.getParameter("video")%>", 
          video_description: "<%=request.getParameter("video_description")%>" 
       } 
      }, 
      { javafx : '2.2+' }, 
      {} 
     ); 
     return false; 
    } 
</script> 

<a href="Science_City.jnlp" onclick="launchApp(); return false;"> 
    Launch me! 
</a> 

<body> 



    </body></html> 

今、二つのことが起こっている:

1)ウェブスタートを起動すると、HTMLファイルから得られたパラメータは表示されませんし、私はJavaFXアプリケーションでNULL値を取得します。

2)jnlpファイルでパラメータ値をハードコーディングしようとしましたが、getParameters()メソッドを使用してJavafxアプリケーションから呼び出されたときにnullになります。getNamed();次のように

は.jnlpファイルは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" codebase="http://localhost/science_city_video_1/" href="Science_City.jnlp"> 
    <information> 
    <title>Science City Video</title> 
    <vendor>Jahnvi Consultants</vendor> 
    <description>null</description> 
    <offline-allowed/> 
    </information> 




    <resources> 
     <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> 
    <jar href="Science_City.jar" download="eager" /> 
    </resources> 



<application-desc name="Sample app" 
     mainClass="java_video_in_browser.VideoPlayer"> 
    <!-- parameter with name 'simpleParam' and fixed string value--> 
    <param name="video" value="Science_City_1"/> 
    <!-- parameter with name 'complexParam' with value generated 
     at build time --> 

</application-desc> 


<!-- 
<param name="video" value="Science_City_1"/> 
<param name="video_description" value="Robert"/> 






<jfx:javafx-desc width="800" height="600" main-class="java_video_in_browser.VideoPlayer" name="VideoPlayer" /> 
    --> 


</jnlp> 
+0

.jspファイルは、oracle Webサイトのweb start javafx tutorialから入手します。 .jnlpファイルはjavafxをブラウザーに埋め込む際に、他のapplications.Alsoに対しても正常に動作し、webベースのjavafxアプリケーション用のパラメーターを正常に渡しました。 – Mike

+0

まだ誰かが私の質問に答えるのを待っています。 – Mike

答えて

0

これは私の質問への部分的な答えはあります。 .jnlpファイルが次のように編集されている場合:

<?xml version="1.0" encoding="UTF-8"?> 
    <jnlp spec="1.0" xmlns:jfx="http://javafx.com" codebase="http://localhost/science_city_video_1/" href="Science_City.jnlp"> 
     <information> 
     <title>Science City Video</title> 
     <vendor>Jahnvi Consultants</vendor> 
     <description>null</description> 
     <offline-allowed/> 
     </information> 




     <resources> 
      <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> 
     <jar href="Science_City.jar" download="eager" /> 
     </resources> 

    <jfx:javafx-desc width="800" height="600" main-class="java_video_in_browser.VideoPlayer" name="VideoPlayer" > 



    <fx:param name="video" value="Science_City_1"/> 
     </jfx:javafx-desc> 

    </jnlp> 


This works if above changes are made in .jnlp file. The parameter value can be accessed from javafx application. I used following tag: <jfx:javafx-desc to make it work. Also still the passing of parameters from jsp to javafx application via .jnlp does not work. 
関連する問題