簡體   English   中英

從 JavaScript 函數獲取返回 URL 並將其作為參數發送到操作

[英]Get the return URL from a JavaScript function and send it as a parameter to the action

我有一個 JavaScript 文件: informacoesImportantes.js ,其中我有一個函數可以生成 Whatsapp 的目標 URL。

您需要獲取 URL 並將其作為參數傳遞給qrCode.do操作,但顯然它甚至在生成鏈接之前就調用了qrCode ,因為它始終為空,但是當您打開瀏覽器控制台並打印變量時,鏈接在那里。

我正在嘗試向Action發送一個參數,但該參數來自一個 JavaScript 函數。 我用<c:set>嘗試了幾種方法,甚至直接在src的參數之后直接調用:javascript ,但沒有成功。

informacoesImportantes.js

function gerarUrlWhatsapp(especialidade,data,hora,medico,unidadeMedica,enderecoCompleto) {

    var texto = "Seguem dados de confirma\u00e7\u00e3o do agendamento: "+"\n"+
    " Especialidade: "+especialidade+"\n"+
    " Data: "+data+"\n"+
    " Hora: "+hora+"\n"+
    " M\u00e9dico: "+medico+"\n"+
    " Unidade "+unidadeMedica+"\n"+
    " Endere\u00e7o: "+enderecoCompleto + "\n"+
    " Informa\u00e7\u00f5es importantes:" + "\n";
    
    return "https://wa.me/?text=" + texto;
}

agendamentoDetalhe.jsp :

<div class="col-sm-3 gnm-container-qrcode">
  <script>
      var urlWhats = gerarUrlWhatsapp('${ agendamento.especialidade.dsEspecialidade}','${dateParts[0]}','${dateParts[1]}','${agendamento.nomePrestador}','${agendamento.unidadeMedica.nome}','${agendamento.unidadeMedica.enderecoCompleto}');
  </script>
    <c:set var="qrCodeUrlWhatsapp" value="${urlWhats}" />
  <img src="../qrCode.do?qrCodeUrlWhatsapp=javascript:gerarUrlWhatsapp('${ agendamento.especialidade.dsEspecialidade}','${dateParts[0]}','${dateParts[1]}','${agendamento.nomePrestador}','${agendamento.unidadeMedica.nome}','${agendamento.unidadeMedica.enderecoCompleto}');"/>
    <p>${urlWhats}</p>
</div>

struts.xml

  <action name="qrCode" class="**" method="qrCode">
    <result name="success" type="stream">
      <param name="contentType">image/jpeg</param>
      <param name="inputName">qrCodeImage</param>
      <param name="bufferSize">4096</param>
    </result>
  </action>

AgendamentoAction.java :

public String qrCode() {
  qrCodeImage = generateQrCodeImpl.createQrCode(accessToken, qrCodeUrlWhatsapp);
}

您不能在<img src=調用 JavaScript 函數。 但是您可以修改src屬性的值。 如果向<img>標簽添加id屬性,則可以使用 JavaScript 從document獲取此元素,並在調用自定義函數后修改src屬性。

下面的腳本應該在 JSP 文件中,因此在呈現文檔之前已經評估了 EL 表達式。

<img id="qrCodeId" src="#">
<script>
   var urlWhats = gerarUrlWhatsapp('${ agendamento.especialidade.dsEspecialidade}','${dateParts[0]}','${dateParts[1]}','${agendamento.nomePrestador}','${agendamento.unidadeMedica.nome}','${agendamento.unidadeMedica.enderecoCompleto}');
   document.getElementById("qrCodeId").src="../qrCode.do?qrCodeUrlWhatsapp="+encodeURIComponent(urlWhats);
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM