问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
[b]问题补充:[/b]
问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
下面的配置是我的struts.xml配置文件!
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<result name="success" type="freemarker">/WEB-INF/template/success.ftl</result>
<result name="error" type="freemarker">/WEB-INF/template/error.ftl</result>
</action>
<action name="loginpage" class="loginpage">
<result name="login" type="freemarker">
/WEB-INF/template/Login.ftl
</result>
</action>
</package>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
[b]问题补充:[/b]
问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
[b]问题补充:[/b]
问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
下面的配置是我的struts.xml配置文件!
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<result name="success" type="freemarker">/WEB-INF/template/success.ftl</result>
<result name="error" type="freemarker">/WEB-INF/template/error.ftl</result>
</action>
<action name="loginpage" class="loginpage">
<result name="login" type="freemarker">
/WEB-INF/template/Login.ftl
</result>
</action>
</package>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
我只要在action的login后面加上!符号,那么!号后面的字符全部被屏蔽掉了,因为我昨天才学struts2,想用动态的调用方法,因此在后面加上!kao.action,但是弄了半天还是不行
[b]问题补充:[/b]
问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
[b]问题补充:[/b]
问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
下面的配置是我的struts.xml配置文件!
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<result name="success" type="freemarker">/WEB-INF/template/success.ftl</result>
<result name="error" type="freemarker">/WEB-INF/template/error.ftl</result>
</action>
<action name="loginpage" class="loginpage">
<result name="login" type="freemarker">
/WEB-INF/template/Login.ftl
</result>
</action>
</package>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
[b]问题补充:[/b]
问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
[b]问题补充:[/b]
问题:
在freemaker中的模版中可以用动态的方法调用吗?
下面是我模版中的代码
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
如果不加!kao.action 方法的调用是好的,但是如果加上后,鼠标移到login按钮上面,显示的不是/login!kao.action
而还是/login,是怎么回事?
下面的配置是我的struts.xml配置文件!
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<result name="success" type="freemarker">/WEB-INF/template/success.ftl</result>
<result name="error" type="freemarker">/WEB-INF/template/error.ftl</result>
</action>
<action name="loginpage" class="loginpage">
<result name="login" type="freemarker">
/WEB-INF/template/Login.ftl
</result>
</action>
</package>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
我只要在action的login后面加上!符号,那么!号后面的字符全部被屏蔽掉了,因为我昨天才学struts2,想用动态的调用方法,因此在后面加上!kao.action,但是弄了半天还是不行
并不是在按钮上面显示,而是说鼠标在移到上面的时候,会在浏览器的左下角人提示,不好意思我没有表达太清楚,也就是说即时我写了/login!kao这样的方式,那么用模版生成页面的时候,查看源代码,依然不是我想要的
你说的那个方式,我也准备试一下
我给你的例子中,"*/*" class="{1}Action" method="{2}"可以匹配security模块下所有action的所有方法
你这个按钮怎么显示URL的?查看源代码,看看form的action才能知道URL吧?
另外,如果用s:form,action的后面不用加.action的
动态调用不好用,不如COC方式:/user/save、/login/kao.action,这样的URL才比较干净吧,当然,最干净的还是REST风格
[code="java"]struts.enable.DynamicMethodInvocation = true
[/code]
检查一下这个
呵呵,这就不知道了
[quote]鼠标移到login按钮上面,显示的不是/login!kao.action [/quote]
这个比较奇怪,怎么按钮还能显示URL?
没有用过动态调用,我是用COC风格的:
struts.xml
[code="xml"]
<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
<constant name="struts.enable.SlashesInActionNames" value="true"></constant>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"></constant>
namespace="/security">
/pages/admin/security/{1}/index.jsp
/pages/admin/security/{1}/edit.jsp
<result name="success" type="redirect">{1}/index.do</result>
</action>
</package>
[/code]
调用的时候:/security/user/save.action、edit.action、xx.action
各种调用方法学一个就行,普通、动态、coc(约定大于配置)、rest
我推荐coc,因为干净(相对与动态)、稳定(相对于rest)、方便(相对于普通)