我试图在点击按钮时从一个页面到另一个页面获取ID,具体取决于我点击的按钮我将得到不同的ID,并且我希望从ID为索引的列表中显示信息。问题是我在使用调度时遇到错误,这是错误:
尝试重置响应时处理错误时出现异常。 的NullPointerException。
在宣传ID时,我得到了我想要的ID,但这是在我被重定向/分派到另一页之前。在产品页面中,我总是得到列表的第一个对象
使用Redirect时我没有收到任何错误,但我仍然只获得列表中的第一个对象
页面是否已初始化?如果是这种情况,我该如何解决这个问题。
我正在使用JSF 2.2并在snowboardBean上使用Dependent范围
SnowboardBean
<h:dataTable value="#{snowboardBean.snowList}" var="list">
<h:column>
<h:form>
ID: #{list.id}<br></br>
Product Name: #{list.productName}<br></br>
Brand Name: #{list.brandName} <br></br>
<h:commandLink action="#{snowboardBean.forwardId()}" value="insert">
<f:param name="id" value="#{list.id}" />
</h:commandLink>
</h:form>
</h:column>
</h:dataTable>
index.html这里保存ID称为
CURRENT ID: #{snowboardBean.id}
<ui:param name="id" value="#{snowboardBean.id}"/>
<h:dataTable value="#{snowboardBean.snowList[id]}" var="list">
<h:column>
ID: #{list.id}<br></br>
Product Name: #{list.productName}<br></br>
Brand Name: #{list.brandName} <br></br>
</h:column>
</h:dataTable>
显示它,Product.xhtml:
// Filepaths
var themepath = 'wp/wp-content/themes/themename'
// optimise scripts
gulp.task('scripts', function() {
return gulp.src('build/scripts/**/*.js')
.pipe(order(['build/scripts/plugins/**/*.js','build/scripts/main.js']))
.pipe(concat('main-min.js'))
.pipe(uglify())
.pipe(plumber())
.on('error', errorLog)
.pipe(gulp.dest(themepath + '/assets/scripts/min/'))
.pipe(browserSync.stream());
点击第一个按钮时得到的输出是:
ForwardID 0
如果我点击第二个按钮,我会得到:
ForwardID 1
提前致谢!
编辑:添加了关于范围,jsf版本的附加信息,调用我的方法的位置以及我得到的输出。
编辑2:澄清