1
我想創建一個播放自定義模板來返回使用旋轉的JSON,我無法找到相同的任何可靠的例子。 是否有任何其他方式在使用JSON渲染視圖並在視圖中實現deadbolt(如果不旋轉模板)?Json自定義模板在Java中使用播放旋轉
我想創建一個播放自定義模板來返回使用旋轉的JSON,我無法找到相同的任何可靠的例子。 是否有任何其他方式在使用JSON渲染視圖並在視圖中實現deadbolt(如果不旋轉模板)?Json自定義模板在Java中使用播放旋轉
你可以在Twirl中做到這一點,沒有問題。你見過custom format guide嗎?另外,請看play.twirl.api.Formats以瞭解XML是如何實現的。
例如,下面是Play內置的XML Twirl格式的實現。
class Xml private (elements: immutable.Seq[Xml], text: String) extends BufferedContent[Xml](elements, text) {
def this(text: String) = this(Nil, Formats.safe(text))
def this(elements: immutable.Seq[Xml]) = this(elements, "")
/**
* Content type of XML (`application/xml`).
*/
def contentType = MimeTypes.XML
}
/**
* Helper for XML utility methods.
*/
object Xml {
/**
* Creates an XML fragment with initial content specified.
*/
def apply(text: String): Xml = {
new Xml(text)
}
}
/**
* Formatter for XML content.
*/
object XmlFormat extends Format[Xml] {
/**
* Creates an XML fragment.
*/
def raw(text: String) = Xml(text)
/**
* Creates an escaped XML fragment.
*/
def escape(text: String) = Xml(StringEscapeUtils.escapeXml11(text))
/**
* Generate an empty XML fragment
*/
val empty: Xml = new Xml("")
/**
* Create an XML Fragment that holds other fragments.
*/
def fill(elements: immutable.Seq[Xml]): Xml = new Xml(elements)
}
因爲你可以在Twirl中做到這一點,所以你可以使用現有的Deadbolt模板。如果您選擇使用非Twirl實現,則可以重新實現您需要的Deadbolt模板,因爲所有邏輯實際上都是在模板之外處理的。看看be.objectify.deadbolt.java.ViewSupport或be.objectify.deadbolt.scala.ViewSupport - 例如,dynamic
模板只接受一些參數並將它們直接傳遞給ViewSupport
。
@if(viewSupport.dynamic(name, meta, handler, timeout(), request)) {
@body
}
感謝您的快速響應。將嘗試按照您的建議實施。 –