代码顺序
public class Order {
private String id;
private BigDecimal amount;
//get set constructor constructors
}
IndexController
@Controller
public class IndexController {
@GetMapping
public String index() {
return "index";
}
}
订单控制器
@Controller
@RequestMapping("/orders")
public class OrderController {
private final OrderService orderService;
public OrderController(OrderService orderService) {
this.orderService = orderService;
}
@GetMapping
public Mono<String> list(Model model) {
var orders = orderService.orders();
model.addAttribute("orders", orders);
return Mono.just("orders/list");
}
}
订单生成器
public class OrderGenerator {
public Order generate() {
var amount = ThreadLocalRandom.current().nextDouble(1000.00);
return new Order(UUID.randomUUID().toString(), BigDecimal.valueOf(amount));
}
}
订单服务
@Service
public class OrderService {
private final Map<String, Order> orders = new ConcurrentHashMap<>(10);
@PostConstruct
public void init() {
var generator = new OrderGenerator();
for (int i = 0; i < 25; i++) {
var order = generator.generate();
orders.put(order.getId(), order);
}
}
public Mono<Order> findById(String id) {
return Mono.justOrEmpty(orders.get(id));
}
public Mono<Order> save(Mono<Order> order) {
return order.map(this::save);
}
private Order save(Order order) {
orders.put(order.getId(), order);
return order;
}
public Flux<Order> orders() {
return Flux.fromIterable(orders.values()).delayElements(Duration.ofMillis(128));
}
}
html
<body>
<h1>Orders</h1>
<table>
<thead>
<tr>
<th></th>
<th>Id</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr th:each="order : ${orders}">
<td th:text="${order.id}"></td>
<td th:text="${#numbers.formatCurrency(order.amount)}"
style="text-align: right"></td>
</tr>
</tbody>
</table>
</body>
错误
模板解析时出错(模板:"类路径资源[模板/订单/list.html]")
评估SpringEL表达式的异常:“order.id”(模板:“订单/列表”-第19行,第9栏)
EL1008E:在“reactor.core.publisher”类型的对象上找不到属性或字段“id”。FluxOnAssembly’-可能不是公共的或无效的?
我不知道该如何解决这个问题,希望你能帮我。谢谢你的回复。
检查您使用的是spring boot starter webflux,而不是spring boot starter web
您需要将反应性原语(如Flux和Mono)添加为IReactiveDataDriverContextVariable。
IReactiveDataDriverContextVariable reactiveDataDrivenMode =
new ReactiveDataDriverContextVariable(orders);
model.addAttribute("orders", reactiveDataDrivenMode);
我目前在使用springboot时遇到问题,并出现错误“模板解析期间发生错误(template:“class path resource[templates/mainpage.html])”。 我曾尝试重新安装不同版本的lombok,因为我认为这可能是问题所在,但迄今为止似乎没有任何效果。我使用gradle和Eclipse作为IDE。感谢您的任何帮助,因为不同的springBootVersions
我正在尝试打开我的html页面,但每当我尝试访问本地主机时,我都会遇到这些错误。 白标签错误页面 我将附上所涉及的文件: 家庭控制器: 用户域类: 索引.html:
我创建了带有模块(Patients、Notes、Reports、Domain)的Maven多模块应用程序。问题出在使用MongoDB的模块Notes中。 我想运行GET addNote视图时遇到了问题-@GetMapping(“/note/add/{patientId}”)。GET注释列表视图工作正常,其他视图我也有。 控制台问题: 注意控制器: 病人注意: 注意: 注意存储库: 模板-注释/ad
我刚刚开始使用springboot,我被这个问题卡住了。没有数据通过控制器。我只想跳转到“index.html”页面,这是一个模板,从bootstrap下载。 这是我的控制器。 index.html. 堆栈跟踪如下。 我想知道我的依赖关系有什么问题吗?
我不知道我的视图出了什么问题,但它不可能工作,即使设置正确,视图也总是出错。我不知道是否还有其他方法可以做到这一点,但胸腔总是失败。 错误是这样的- 这是我的控制器 我的观点
我的angular 2组件有以下模板,但它抛出了一个模板解析错误。 这是错误消息-我的