gpt4 book ai didi

java - Spring 网络流: Understanding generated JSP

转载 作者:行者123 更新时间:2023-12-01 04:21:26 25 4
gpt4 key购买 nike

这是为正在制作披萨的用户生成的 JSP 文件,它是另一个流程的子流程。我不明白为什么我需要选中至少一个复选框才能使提交按钮起作用。 我的意思是,当选中 0 个复选框时,提交按钮会将我带回同一站点。我希望我带来了足够的信息,如果还有什么我应该添加的,请写下来。

这个编码在哪里?在 JSP 中或流文件中的某个位置?

Updated with required class.

I made github repo of my project.

createPizza.jspx

<div xmlns:form="http://www.springframework.org/tags/form"
xmlns:jsp="http://java.sun.com/JSP/Page">

<jsp:output omit-xml-declaration="yes"/>
<jsp:directive.page contentType="text/html;charset=UTF-8" />

<h2>Create Pizza</h2>
<form:form commandName="pizza">
<input type="hidden" name="_flowExecutionKey"
value="${flowExecutionKey}"/>

<b>Size: </b><br/>

<form:radiobutton path="size"
label="Small (12-inch)" value="SMALL"/><br/>
<form:radiobutton path="size"
label="Medium (14-inch)" value="MEDIUM"/><br/>
<form:radiobutton path="size"
label="Large (16-inch)" value="LARGE"/><br/>
<form:radiobutton path="size"
label="Ginormous (20-inch)" value="GINORMOUS"/>
<br/>
<br/>

<b>Toppings: </b><br/>
<form:checkboxes path="toppings" items="${toppingsList}"
delimiter="&lt;br/&gt;"/><br/><br/>


<input type="submit" class="button" name="_eventId_addPizza" value="Continue"/>

<input type="submit" class="button" name="_eventId_cancel" value="Cancel"/>
</form:form>
</div>

order-flow.xml

<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/webflow
http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd">

<input name="order" required="true" />

<view-state id="showOrder">
<transition on="createPizza" to="createPizza" />
<transition on="checkout" to="orderCreated" />
<transition on="cancel" to="cancel" />
</view-state>


<!-- Corresponding state -->
<view-state id="createPizza" model="flowScope.pizza">

<on-entry>
<set name="flowScope.pizza"
value="new com.springinaction.pizza.domain.Pizza()" />

<evaluate result="viewScope.toppingsList" expression=
"T(com.springinaction.pizza.domain.Topping).asList()" />
</on-entry>

<transition on="addPizza" to="showOrder">
<evaluate expression="order.addPizza(flowScope.pizza)" />
</transition>

<transition on="cancel" to="showOrder" />
</view-state>

<end-state id="cancel" />
<end-state id="orderCreated" />
</flow>

Pizza.java

package com.springinaction.pizza.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@SuppressWarnings("serial")
public class Pizza implements Serializable {
private PizzaSize size;
private List<Topping> toppings;

public Pizza() {
toppings = new ArrayList<Topping>();
size = PizzaSize.LARGE;
}

public PizzaSize getSize() {
return size;
}

public void setSize(PizzaSize size) {
this.size = size;
}

public void setSize(String sizeString) {
this.size = PizzaSize.valueOf(sizeString);
}

public List<Topping> getToppings() {
return toppings;
}

public void setToppings(List<Topping> toppings) {
this.toppings = toppings;
}

public void setToppings(String[] toppingStrings) {
for (int i = 0; i < toppingStrings.length; i++) {
toppings.add(Topping.valueOf(toppingStrings[i]));
}
}
}

最佳答案

显然,正如 shazin 所强调的,问题在于 Pizza 类中重载的 setToppings 方法,这会带来麻烦。在注释以字符串数组作为参数的那个之后,应用程序可以正常工作。可能它与 EL 有关,EL 以这种方式处理它,并且可能在另一个容器上发生变化(我使用 tomcat,我认为专用服务器是 Jetty)。

关于java - Spring 网络流: Understanding generated JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18861946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com