我正在尝试实现国际化,并且我有以下html标记。
var animalArray = ["Donkey","Horse","Zebra","Okapi"], var animalCountArray = [7,3,9,2]
生成html为
import UIKit
import CoreData
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
let managedContext = appDelegate.persistentContainer.viewContext
let animal1 = NSEntityDescription.insertNewObject(forEntityName: "ZooAnimals", into: managedContext)
let animal2 = NSEntityDescription.insertNewObject(forEntityName: "ZooAnimals", into: managedContext)
let animal3 = NSEntityDescription.insertNewObject(forEntityName: "ZooAnimals", into: managedContext)
let animal4 = NSEntityDescription.insertNewObject(forEntityName: "ZooAnimals", into: managedContext)
animal1.setValue("Donkey", forKey: "animal")
animal1.setValue(7, forKey: "count")
animal2.setValue("Horse", forKey: "animal")
animal2.setValue(3, forKey: "count")
animal3.setValue("Zebra", forKey: "animal")
animal3.setValue(9, forKey: "count")
animal4.setValue("Okapi", forKey: "animal")
animal4.setValue(2, forKey: "count")
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save. \(error), \(error.userInfo)")
}
}
}
<p th:text= "${your_amount(${it.vm.getAmount})}"></p>
正是我的国际化字符串。
理想情况下,结果应该是。
<p>Your Amount is: $</p>
Your Amount is: $
种类没有被执行。我已检查<p>Your Amount is: $123.24</p>
内是否存在以下
it.vm.getAmount
这给了我一个结果
getAmount
百老汇是否认为<p th:text="${it.vm.getAmount}"></p>
在呈现时是一个特殊角色,有没有办法解决这个问题?
答案 0 :(得分:0)
这个表达式:
<p th:text= "${your_amount(${it.vm.getAmount})}"></p>
是无效的语法 - 出于多种原因。
${}
表达式永远不会嵌套在其他${}
表达式中 - 除非您正在进行预处理。your_amount
是字符串,则不能将其用作函数your_amount(...)
。it.vm.getAmount
不应该工作 - 除非你确实已经命名了你的getter方法getGetAmount()
。它应该是it.vm.amount
或it.vm.getAmount()
。当我尝试你的表达时,我收到了这个错误:
Method your_amount(java.lang.String) cannot be found on org.thymeleaf.spring4.expression.SPELContextMapWrapper
如果您只想将不同的字符串附加在一起,那么您应该做的事情如下:
<p th:text= "${your_amount + it.vm.getAmount}"></p>
或
<p>
<span th:text="${your_amount}"><span th:text="${it.vm.getAmount}">
</p>
或
<span th:text="|${your_amount}${it.vm.getAmount}|" />