2012-08-06 201 views
0

我正在使用Spring Roo和jspx構建一個管理物業投資組合的系統。jspx傳遞變量

在我的「propertys/show.jspx」文件中,我嵌入了一個使用Google Maps API的地圖,現在我希望將該屬性的帖子/郵政編碼傳遞到地理編碼方法中以顯示該屬性的位置在地圖上。

我對jsp(x)比較新,但是我嘗試過使用郵編「id」值或者使用$ {property.postcode}/$ {property.getPostcode()}但是沒有一個選項工作。當然,這可能是我想要做的,我已經在網上搜索了幾個小時,但一直在努力尋找任何有用的東西。

這裏是我的代碼:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<div xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:embed="urn:jsptagdir:/WEB-INF/tags/embed" xmlns:field="urn:jsptagdir:/WEB-INF/tags/form/fields" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:page="urn:jsptagdir:/WEB-INF/tags/form" xmlns:util="urn:jsptagdir:/WEB-INF/tags/util" version="2.0"> 
    <jsp:directive.page contentType="text/html;charset=UTF-8"/> 
    <jsp:output omit-xml-declaration="yes"/> 
    <page:show id="ps_propertymodule_model_Property" object="${property}" path="/propertys" z="WKsfPr4ho5x13a9S80pO1Z6yVzU="> 
     <table width="100%;"> 
      <tr> 
       <td width="60%"> 
     <field:display field="propertyNameNumber" id="s_propertymodule_model_Property_propertyNameNumber" object="${property}" z="DRkvOGCjByMk2N7UunO4fD8LJfc="/> 
     <field:display field="streetName" id="s_propertymodule_model_Property_streetName" object="${property}" z="caugN9DlFqoZLN+WEKIjaJEQUSI="/> 
     <field:display field="townCity" id="s_propertymodule_model_Property_townCity" object="${property}" z="Fp+KSaGrgdbXhRzllkBo9FxmXIM="/> 
     <field:display field="county" id="s_propertymodule_model_Property_county" object="${property}" z="mmJB81/8iBFbt+jXICA9q8xCDHw="/> 
     <field:display field="postcode" id="s_propertymodule_model_Property_postcode" object="${property}" z="j1qr8EujBkOLnsX1vcgFaPlEWtU="/> 
     <br/> 
     <br/> 
     <field:display date="true" dateTimePattern="${property_datepurchased_date_format}" field="datePurchased" id="s_propertymodule_model_Property_datePurchased" object="${property}" z="B22znN56FtmM/zueTwnOcjNl83k="/> 
     <field:display field="pricePaid" id="s_propertymodule_model_Property_pricePaid" object="${property}" z="CQLyDqQhFtqoYfMusAB/XeA+wW0="/> 
     <field:display field="stampDuty" id="s_propertymodule_model_Property_stampDuty" object="${property}" z="x7sgRlL8ROhdb9MonWP33N4Ishs="/> 
     <field:display field="legalCost" id="s_propertymodule_model_Property_legalCost" object="${property}" z="TH0DgdlKfeFDefSgq+HDVebcxm0="/> 
     <field:display field="agentFee" id="s_propertymodule_model_Property_agentFee" object="${property}" z="05bXxWqJcMzgbwtVBHUujPWU7ZA="/> 
     <br/> 
     <br/> 
     <field:display field="area" id="s_propertymodule_model_Property_area" object="${property}" z="Eb5a0xmk5qSFaKZ3BYMGR7lNYw8="/> 
     <field:display field="salePrice" id="s_propertymodule_model_Property_salePrice" object="${property}" z="cQHnoPj/QNnb2XwRclq6n4zR+gs="/> 
     <field:display field="saleCommission" id="s_propertymodule_model_Property_saleCommission" object="${property}" z="ULPRSdiwV/tk+kS59uyk16TkcoY="/> 
     <field:display field="legalExpenses" id="s_propertymodule_model_Property_legalExpenses" object="${property}" z="/a0+xD2IyDttEZpI9zlcOpruOaQ="/> 
     <field:display field="comments" id="s_propertymodule_model_Property_comments" object="${property}" z="RDKzYGFdOQUXNcAhV3/JGF8v7V0="/> 
     <field:display field="image" id="s_propertymodule_model_Property_image" object="${property}" z="TBQCQkvQcyTDVJQw7l95WI6zt9U="/> 
     <field:display field="vacant" id="s_propertymodule_model_Property_vacant" object="${property}" z="03Pa/jpb5PtZRPMAQzLryud0dBs="/> 
     <c:set var="post_code" value="${property.postcode}" /> 
     </td> 
      <td> 

     <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyBQaHw1aSWtIjQzAiriBPC3hvm7Bs1R35U&amp;sensor=false"><jsp:text></jsp:text></script> 
    <script type="text/javascript"> 
     //<![CDATA[ 
      var map; 
     function initialize() { 

     var mapOptions = { 
      zoom: 8, 
      center: new google.maps.LatLng(51.10,-0.84), 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

     map = new google.maps.Map(document.getElementById('map_canvas'), 
      mapOptions); 

     codeAddress(); 
     } 


     function codeAddress() { 

      var address = document.getElementById(address).value; 
      geocoder.geocode({ 'address': address}, function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       map.setCenter(results[0].geometry.location); 
       var marker = new google.maps.Marker({ 
        map: map, 
        position: results[0].geometry.location 
       }); 
      } else { 
       alert('Geocode was not successful for the following reason: ' + status); 
      } 
      }); 
     } 
      google.maps.event.addDomListener(window, 'load', initialize); 
     // ]]> 
      </script> 
      <div id="map_canvas" style="width: 250px; height: 250px"></div> 
      </td> 
     </tr> 
    </table> 
    </page:show> 
</div> 

如果任何人都可以給我說,會這麼理解,因爲我真的認爲這是一個基本的問題,任何提示或技巧,它真的是令人沮喪的我不能夠解決這個問題!

感謝

史蒂夫

回答

0

如果走在display.tagx一看,你可以看到簡稱喜歡這個對象的值:

<spring:eval expression="object[field]" /> 

想必,你應該能夠使用這個訪問郵政編碼是你的jspx:

<spring:eval expression="property[postcode]" /> 

例如:

<script type="text/javascript"> 
     //<![CDATA[ 
      var map; 
      var post_code = <spring:eval expression="property[postcode]" />; 
      ...