Struts结果类型的结果标记在jsp页面的操作中

时间:2013-12-14 18:19:34

标签: java html jsp struts2

我对struts动作中Result标记的Result类型感到困惑。我有一个jsp页面,它有本机/基本的jsp标签和代码。我想在成功完成一个动作后显示jsp页面。我不明白我选择的结果类型是什么,因为如果我选择type="dispatcher,那么它不起作用。事实上,我的首页中有一个超级链接,它是简单的html。当我点击该超链接时,在成功完成操作后调用该操作,页面不会更改,我仍然保留在首页。如果我选择freemarker type,那么我得到了我的jsp页面,但它不解析jsp标签,代码只是解析hmtl代码。如果我选择plainText type然后我再次获得我的jsp页面,但我只是在浏览器中以纯文本形式获取代码。任何人都可以建议谁来解决我的问题。

行动方法

public String showDomains() {
    IDPBroker broker = new IDPBroker();
    domains = broker.retrieveDomainList();
    return ActionSupport.SUCCESS;
}

JSP文件(为简单起见,我删除了很多代码)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"     "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
<title>Domain Management</title>
</head>
<body>
    <div
    style="margin: 0 auto; border-style: solid; border-width: 2px; width: 800px; height: 600px;">
        <div style="height: 450px; margin-top: 10px; text-align: center;">
            <a href="<s:url action='hello'/>">Hello World</a>
        </div>
    </div>
</body>
</html>

struts.xml中

<?xml version="1.0" encoding="UTF-8" ?>

                             

<constant name="struts.configuration.xml.reload" value="false" />
<constant name="struts.i18n.reload" value="false" />

<constant name="struts.action.excludePattern"
    value="/images/.*,/_ah/.*,/odata.svc/*.*,/assets/.*,/prototype/.*,/notifications,/error/.*,/unLockSubmissions" />
<constant name="struts.enable.SlashesInActionNames" value="false" />
<constant name="struts.freemarker.mru.max.strong.size" value="250" />
<!-- When on production make the updateDelay as 15 mins -->
<constant name="struts.freemarker.templatesCache.updateDelay"
    value="0" />
<constant name="struts.multipart.maxSize" value="10485760" />
<constant name="struts.action.extension" value="" />

<package name="default" namespace="/" extends="struts-default">


     <!--  Default action name  -->
    <default-action-ref name="Index" />
    <action name="Index">
        <result name="success" type="freemarker" >/WEB-INF/html/index.html</result>
    </action>


    <action name="showDomains" class="com.convergent.struts2.actions.DomainManagementAction"
        method="showDomains">
        <result name="success" type="dispatcher">/domain_management.jsp</result>
    </action>

</package>

0 个答案:

没有答案