在jsp页面上显示阵列列表

我试图在所示的.jsp页面中显示以下ArrayList,但我运行我的portlet后似乎看不到任何值,问题出在哪里?

代码.java

 public class TestPortlet extends MVCPortlet {
    public void displayProcess(ActionRequest request, ActionResponse response) {
        ArrayList<String> process = new ArrayList<>();
        process.add("a");
        process.add("b");
        process.add("c");
        process.add("d");
        process.add("e");

        request.setAttribute("processName", process);
    }
}

jsp页面如图所示。

<%@ include file="/init.jsp"%>

<jsp:useBean id="processName" class="java.util.ArrayList" scope="request" />

<aui:select id="process" name="processitems">
    <c:forEach items="${processName}" var="process">
        <aui:option value="${process}">
            ${process}
        </aui:option>
    </c:forEach>
</aui:select>

如果能得到帮助,我将非常感激。

解决方案:

不知道这是否是一个完整的答案,但有些步骤可以找出问题所在。我把你的问题以及一些意见。

你实现了一个portlet动作处理程序 从那里开始,你就不会再向某个特定的jsp进行转发。一个portlet的action阶段只适合改变状态,而显示结果是view阶段的一部分。您发布的代码 (尽管它显然是简化了的) 看起来像是想活在 doView().

事实上,这可能是你所需要的一切。如果你 只是展示 的 portlet。只是 VIEW阶段将被触发。只需显示 portlet 不会 触发动作处理程序,你可以在调试器中进行验证。

对于JSP:你说的是你 “似乎看不到 “任何结果。验证你的问题在哪里:列表在那里吗?枚举列表有用吗?你的问题是否与AUI标签lib有关?你可以很容易地通过删除所有其他标签来检查,而是通过删除一点来生成纯输出。

当您查看输出的源码时,任何JSP的东西都会被保留下来(例如 ${processName}<aui:select..>, <c:forEach...>,那么你就会知道,这就是 “看不到 “任何东西的根本原因。你可能会错过一个taglib或其他。

最后:我从来没有尝试过这个,但是…。<aui:select> 是一个在表单中使用的标签,我不知道它在表单之外有什么作用–你可能想在它的周围加一个 <aui:form ....> 然后看看会发生什么。

给TA打赏
共{{data.count}}人
人已打赏
未分类

通过在python中应用布尔掩码(相同大小的布尔矩阵)返回一个矩阵。

2022-9-8 16:19:39

未分类

如何在R中用""来代替"/r\n"?

2022-9-8 16:19:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索