如何在JSTL中设置java bean属性的值

Jos*_*Sol 3 jsp jstl javabeans

我在JSP文件中使用这个java bean:

<jsp:useBean scope='session' id='project' class='org.sail.biometria.bean.manageproject.ProjectBean' />
Run Code Online (Sandbox Code Playgroud)

我有这个布尔变量:

${project.projectParameterConfig.ForcedChange}
Run Code Online (Sandbox Code Playgroud)

我试图使用以下代码将值从true更改为false:

<c:set var="project.projectParameterConfig.ForcedChange" value="false"/>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Bal*_*usC 5

<c:set var>套/覆盖在给定EL范围的变量.你在这里不需要它.您需要在其中指定bean实例<c:set target>和所需的属性名称<c:set property>.

<jsp:useBean id="bean" class="com.example.Bean" />
<c:set target="${bean}" property="someProperty" value="newvalue" />
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用<jsp:setProperty>,这种工作方式基本相同,只name需要引用bean名称,而不是bean本身.

<jsp:useBean id="bean" class="com.example.Bean" />
<jsp:setProperty name="bean" property="someProperty" value="newvalue" />
Run Code Online (Sandbox Code Playgroud)