我正在使用(学习......)Struts 1.3来构建一个MVC Web应用程序.为清楚起见,我想包含多个<message-resources>元素 - 将消息分离为应用程序特定模块的文件.
官方的Apache文档说明:
您可以
<message-resources>为您的webapp 定义一个或多个元素; 模块可以定义自己的资源包.可以在应用程序中同时使用不同的包,"key"属性用于指定所需的包.
但是,当我包含多个元素时,JSP会导致异常,指出密钥缺少消息:
SEVERE: Servlet.service() for servlet jsp threw exception javax.servlet.jsp.JspException: Missing message for key "label.username" in bundle "(default bundle)" for locale en_GB
at org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:233)
at org.apache.jsp.index_jsp._jspx_meth_bean_005fmessage_005f0(index_jsp.java:197)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:107) ~~~snip~~~
Run Code Online (Sandbox Code Playgroud)
这是XML:
<struts-config>
~~~snip~~~
<message-resources parameter="resources.DefaultResource"/>
<message-resources parameter="resources.Registration"/>
</struts-config>
Run Code Online (Sandbox Code Playgroud)
如果没有第二个"注册"资源,则不会抛出异常."label.username"仅存在于"DefaultResource"中.
非常感谢.
有人请帮我执行这个第一个Struts2应用程序.
web.xml`文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web- app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2FirstProject</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter- class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
Struts.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<struts>
<package name="default" extends="struts-default">
<action name="getHello" class="anvi.Hello">
<result name="success">/success.jsp</result>
<result name="fail">/error.jsp</result>
</action>
</package>
</struts>
Run Code Online (Sandbox Code Playgroud)
anvi.hello:
package anvi;
public class Hello {
public String execute(){
System.out.println("Hello from execute");
return "success";
}
}
Run Code Online (Sandbox Code Playgroud)
控制台是:
9 Nov, 2012 6:16:54 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which …Run Code Online (Sandbox Code Playgroud) 我试图根据数据的存在或缺乏来更改数据表的布局.我喜欢写但不起作用的是:
<#if record.enduseraccount?has_content OR record.installedataccount?has_content>
Table 1
<#else>
table 2
</#if>
Run Code Online (Sandbox Code Playgroud)
我不需要两个陈述都是真的,只需要一个或另一个.我真的不想通过为每个变量添加一个新表来为模板添加大量长度.
我按照书(2004)中的教程进行操作JakataStruts live。我有代码片段:
@Override
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if(firstName == null || firstName.trim().equals("")){
errors.add("firstName", new ActionError("userRegistration.firstName.problem"));
}
//...
return errors;
Run Code Online (Sandbox Code Playgroud)
Netbeans IDE 注意到:“找不到符号”。如何解决上述问题呢?
我有一个用户表,其中有一个管理员帐户和一些其他普通用户帐户。
我想为特定用户执行所有活动。它应该像由同一用户完成的活动一样。
有人可以告诉我如何在不登录该帐户的情况下从管理员帐户切换到另一个帐户。
目前我使用护照认证。(护照本地)
这是我的代码
app.get('/secure/group/login', function(req,res,next) {
passport.authenticate('local',function(err,user,info) {
console.log("error is "+err);
req.logIn('tessAccount',function(err) {
console.log("Weer" +err);
});
console.log("dd");
})(req,res,next);
});
});
Run Code Online (Sandbox Code Playgroud)
和护照代码
var LocalStrategy = require('passport-local').Strategy;
module.exports = function(passport) {
// used to serialize the user for the session
passport.serializeUser(function(user, done) {
done(null, user.token);
});
passport.use(new BearerStrategy(
function(token, done) {
user.tokenExist(token, function(err, user) {
if (err) {
return done(err);
}
else {
return done(null, user, { scope: 'all' });
}
});
}
));
// used to deserialize the user …Run Code Online (Sandbox Code Playgroud) 我正在使用Java中的自定义标记,我收到一个错误.让我详细说明所涉及的文件:
我的tag.tld(路径为:\ WEB-INF\tlds\tag.tld)具有以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>0.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>message</shortname>
<tag>
<description>StringReverseTag</description>
<name>string</name>
<tag-class>mytag.StringReverseTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>data</name>
<required>true</required>
</attribute>
</tag>
</taglib>
Run Code Online (Sandbox Code Playgroud)
ReverseEx.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" language="java"%>
<!DOCTYPE html>
<%@taglib uri="/WEB-INF/tlds/tag.tld" prefix="jen" %>
<jen:string data="EARTH"/>
<html>
<head>
<title>Tag Example</title>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
助手班:
package chap4;
import java.io.IOException;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
public class StringReverseTag extends SimpleTagSupport{
private String data;
public void setData(String data) {
this.data=data;
}
@Override
public void …Run Code Online (Sandbox Code Playgroud) 我有一个用户想要突出显示未通过Struts2验证的字段。
我计划为在我的validate()方法中失败的任何字段设置一个标志,并在加载我的JSP页面时使用该字段更改该字段的背景。
我的问题是如何处理Action-validation.xml文件中未通过验证的字段?我需要用我的validate()方法进行所有验证吗?
还有一种方法可以突出显示产生
字段的字段值无效...
错误?
任何帮助,将不胜感激!
这是html内容,我想从中选择报表中的所有元素,使用jQuery显示块
$("#report:visible")对我来说不起作用.
<div id="report">
<div id="p1" style="display: block;">
<input id="pname1" type="checkbox" name="report1">
<input id="pname2" type="checkbox" name="report2">
</div>
<div id="p2" style="display: none;">
<input id="pname1" type="checkbox" name="report1">
<input id="pname2" type="checkbox" name="report2">
</div>
<div id="p3" style="display: none;">
<input id="pname1" type="checkbox" name="report1">
<input id="pname2" type="checkbox" name="report2">
</div>
<div id="p4" style="display: block;">
<input id="pname3" type="checkbox" name="report1">
<input id="pname4" type="checkbox" name="report2">
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在使用struts2 junit 2.3.12插件.
java.lang.NoClassDefFoundError: javax/servlet/ServletContext
所以我包括
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在我的POM中,之后我得到:
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/servlet/ServletException
Run Code Online (Sandbox Code Playgroud)
所以,我删除上面的依赖项并添加:
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>1.0.0.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
之后我得到了
SEVERE: [53:22.549] Dispatcher initialization failed
Run Code Online (Sandbox Code Playgroud)
以下是我的测试:
public class TestAction extends StrutsTestCase {
@Test
public void testRegister() throws Exception {
ActionProxy proxy = getActionProxy("/gotoregister");
assertNotNull(proxy);
proxy = getActionProxy("/registeraction");
UserAction action = (UserAction) proxy.getAction();
assertNotNull(action);
request.setParameter("usernameexists", "true");
request.setParameter("emailexists", "false");
request.setParameter("basicinfo.firstname", "fname");
request.setParameter("basicinfo.lastname", "lname"); …Run Code Online (Sandbox Code Playgroud) 我有需要的地方java.sql.Connection。但我这里用的是Hibernate。不知何故,我进行了研究,发现了以下替代方案,但这不起作用。
import org.hibernate.connection.ProxoolConnectionProvider;
public class ConnectionDB{
//I have imported below class
ProxoolConnectionProvider proxoolProvider = new ProxoolConnectionProvider();
org.hibernate.cfg.Configuration cfg = HibernateUtil.getConfiguration();//this method will return configuration
java.util.Properties props = cfg.getProperties();//This will return Properties Object
//Using properties object I just tried to get The Connection Object by following method
proxoolConn.configure(props);// I just configured the Porperties object
proxoolConn.getConnection();
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我最终毫无例外地在控制台中结束了。我使用的是 Struts 2、Hibernate 和 JasperReports。
任何人都可以帮我从 Hibernate 获取连接对象吗?
java ×4
struts2 ×3
jquery ×2
struts-1 ×2
custom-tags ×1
freemarker ×1
hibernate ×1
html ×1
java-ee ×1
javascript ×1
jsp ×1
junit4 ×1
maven ×1
node.js ×1
passport.js ×1
servlets ×1
struts ×1