我正在尝试使用freemarker创建一个struts2组件.我ftl用这样的代码创建了一个文件:
<script type="text/javascript" src="${parameters.library?default('')}"></script>
Run Code Online (Sandbox Code Playgroud)
期望一个名为library传递给组件的参数.如果参数不存在则默认为空白String.
在我的JSP页面上,我指的是这样的组件:
<s:component template="mytemplate.ftl">
<s:param name="library" value="/scripts/mylibrary.js"/>
</s:component>
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有设置library参数的值.它总是一片空白String.
我正在使用本教程中的建议,似乎s:param标记应该将参数传递给模板并使其可用.我在这里错过了什么?
有没有人有一些建立这些组件的经验可以解决一些问题?
谢谢.
我有一个Struts2应用程序,我使用Tiles.如何在动作映射中获得多个结果类型?因为我需要将de输出设置为JSON数据,并将Tiles同时设置.我试过了:
<action
name="home"
class="com.deveto.struts.actions.HomeAction" >
<result name="success" type="tiles,json">tiles.home</result>
</action>
Run Code Online (Sandbox Code Playgroud)
但这不起作用
我是Java EE的新手,过去我主要是在.NET上开发的.很快我将开始使用基于Java EE的项目(使用Struts2).我确信有一些方法可以为网站创建一个可以快速更改的模板(类似于ASP.NET中的Masterpages).
有什么解决方案?哪个更受欢迎?
在此先感谢约翰内斯
我正在阅读以下网址上的struts2教程.
http://struts.apache.org/2.2.1/docs/message-resource-files.html
它解释了如何读取视图文件中属性键的值,但它没有解释如何读取操作类或模型类中的属性值.
如何在动作或模型类中读取属性键的值?
我正在尝试按照“ Quartz 调度框架”一书“在 Web 应用程序中初始化 Quartz ”示例中提到的步骤进行操作。这是该程序的链接https://gist.github.com/5777d9f27c700e716a5a。但是这个例子是在 Struts1 框架上的。
我们的是一个带有 Hibernate 3.5 ORM 的 struts2 框架。我应该如何在 Struts2 上配置确切的步骤。任何帮助,将不胜感激。
但是,如果我在 contextInitialized() 方法中编写代码,则会收到异常“java.lang.RuntimeException: java.io.FileNotFoundException: src/hibernate.cfg.xml (No such file or directory)”
Xml config = new Xml("src/hibernate.cfg.xml", "hibernate-configuration");
Properties prop = new Properties();
prop.setProperty("org.quartz.dataSource.tasksDataStore.driver", config.child("session-
factory").children("property").get(1).content());
prop.setProperty("org.quartz.dataSource.tasksDataStore.URL", config.child("session-
factory").children("property").get(2).content());
prop.setProperty("org.quartz.dataSource.tasksDataStore.user", config.child("session-
factory").children("property").get(3).content());
prop.setProperty("org.quartz.dataSource.tasksDataStore.password", config.child("session-
factory").children("property").get(4).content());
prop.setProperty("org.quartz.dataSource.tasksDataStore.maxConnections", "20");
SchedulerFactory sf = new StdSchedulerFactory(prop);
Scheduler sched = sf.getScheduler();
Run Code Online (Sandbox Code Playgroud) 我是struts2的新手.我用jsp等领域username,password,email,postal code像这样.我在输入jsp中使用了 <s:password>tag password字段.在提交页面时,如果该页面中有任何错误,则将操作重定向到相同的输入页面.在这种情况下,password字段被清除,其他字段在那里输入值,但我想显示password先前输入的值而不是空值的字段.怎么样?
问题似乎很愚蠢,因为我没有理解这个文件.基本上我只想根据这条指令运行hello-world无动作示例,只需将hello.jsp文件添加到WEB-INF/content中,然后运行localhost:8080/test/hello,但Struts会一直显示异常java.lang. NoSuchMethodException:com.opensymphony.xwork2.ActionSupport.index().
所以我想在运行之前需要完成任何配置.我找不到关于hello-world示例配置的任何事情.
有谁能建议我正确的方法?谢谢
更新:这里是项目树,没有动作,没有任何幻想.
??? pom.xml
??? src
??? main
??? resources
? ??? struts.xml
??? webapp
??? WEB-INF
? ??? content
? ? ??? hello.jsp
? ??? web.xml
??? index.jsp
Run Code Online (Sandbox Code Playgroud)
pom.xml中的依赖项
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.8</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-rest-plugin</artifactId>
<version>2.3.8</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>2.3.8</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>2.3.8</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.26</version>
</dependency>
Run Code Online (Sandbox Code Playgroud) 我知道这是一个非常愚蠢的问题,但是我需要帮助。尝试了几个主题,但都无济于事。
因此,我试图将在Struts2(java)中创建的列表传递到javascript中以使用高光绘制图表。我已经阅读了几篇文章,并提出了以下建议:
$(function drawList() {
var list = [
<c:forEach items="${listFromJava}" var="alistFromJava">
{itemName: "${alistFromJava.attribute}"},
</c:forEach>
];
Run Code Online (Sandbox Code Playgroud)
但是,它永远不起作用,并且总是以以下形式结尾:静态属性必须是String文字,指定表达式是非法的。
如果我尝试:
list = '<s:property value="listFromJava"/>
Run Code Online (Sandbox Code Playgroud)
然后它仅返回引用。
任何建议表示赞赏。提前致谢。
我想知道如何将转换String到Date在Struts2.我有一个简单的表单,用户以此格式提供日期"yyyy-MM-dd".将Sturts2地图表格提交给bean.我在日期转换中遇到错误.我谷歌它很多,并声明我们必须使用自定义类型转换器.我不想为日期转换编写自定义类型转换器.我认为Struts2中应该有一个简单的机制来进行数据转换,因为数据转换是非常常见的功能.
JSP
<s:form action="AddDomain">
<s:push value="idp">
<s:textfield name="domainName" label="Domain Name" />
<s:textfield name="url" label="Domain URL" />
<s:textfield name="noOfLicense" label="License Purchased" />
<s:textfield name="licenseExpireDate" label="License Expire Date"
title="YYYY-MM-DD like 2013-01-21" />
<s:textfield name="userActiveDuration" label="Active User Duration"
title="please mention in days" />
<s:textarea name="notes" label="Note" cols="30" rows="5" ></s:textarea>
<s:submit value="Add" />
</s:push>
</s:form>
Run Code Online (Sandbox Code Playgroud)
这是用户输入输入的JSP.
模型类
@Entity
@Table(name = "Domain")
public class IdentityProvider implements Serializable {
@Id
@Basic(optional = false)
private String url;
private String domainName;
private …Run Code Online (Sandbox Code Playgroud) 我有一个简单的标签,其中有一个url作为其href,当我点击它时,它会将URL附加到当前地址.
地址是www.example.com/event/
<a href="www.yahoo.com" taget="_blank">Here</a>
Run Code Online (Sandbox Code Playgroud)
当我点击它时,它将变为以下
www.example.com/event/www.yahoo.com
Run Code Online (Sandbox Code Playgroud) struts2 ×10
java ×5
html ×2
action ×1
components ×1
date ×1
freemarker ×1
java-ee ×1
javascript ×1
json ×1
jsp ×1
ognl ×1
templates ×1
tiles2 ×1