如何在使用 spray 和 scala 的应用程序内部管理 html

How to manage html inside application which uses spray and scala

我正在开发一个使用 Spray 和 Scala 的简单应用程序,我是这个环境的初学者。我正在处理一种用于通过 post 方法发送信息的表单。表格如下

 lazy val formPage =
  <html>
  <body>
  <form id="register">
  <fieldset> 
  <legend>Dodaj sędziego</legend> 
  <div> 
  <label>Imię
  <input id="first-name" name="first-name" placeholder="Imię" required autofocus> 
  </label>
  </div>
  <div> 
  <label>Nazwisko
  <input id="last-name" name="last-name" placeholder="Nazwisko" required autofocus> 
  </label>
  </div>
  <div> 
  <label>Numer identyfikacyjny
  <input id="number" name="number" required>
  </label>
  </div> 
  </fieldset>
  </form>
  </body>
  </html>

我称之为

  path("judge" / "new"){
    respondWithMediaType(`text/html`) {
      complete {
        formPage
      }
    }
  }

而且在编译时会导致很多问题,例如:

[error] /project/src/main/scala/pl/vectorotic/MyService.scala:45: in XML literal: '=' expected instead of 'a'
[error]   <input id="first-name" name="first-name" placeholder="Imię" required autofocus>

想请教如何在scala程序中使用html

您的 formPage 不是字符串,而是 XML Elem 。使用三引号:

  lazy val formPage =
    """<html>
      <body>
        <form id="register">
          <fieldset>
            <legend>Dodaj sędziego</legend>
            <div>
              <label>Imię
                <input id="first-name" name="first-name" placeholder="Imię" required autofocus>
                </label>
              </div>
              <div>
                <label>Nazwisko
                  <input id="last-name" name="last-name" placeholder="Nazwisko" required autofocus>
                  </label>
                </div>
                <div>
                  <label>Numer identyfikacyjny
                    <input id="number" name="number" required>
                    </label>
                  </div>
                </fieldset>
              </form>
            </body>
          </html>"""