小编Lui*_*oza的帖子

如何在客户端读取excel文件内容?

从JSP页面,我需要浏览excel文件,在系统上选择文件后,我需要读取excel文件内容并填写我的表单.

目前我尝试使用下面的代码,但它只在IE中工作,对ActiveXObject的IE互联网选项进行了一些更改.它不适用于其他浏览器.

<script>
    function mytest2() {
        var Excel;
        Excel = new ActiveXObject("Excel.Application"); 
        Excel.Visible = false;
        form1.my_textarea2.value = Excel.Workbooks.Open("C:/Documents and Settings/isadmin/Desktop/test.xlsx").ActiveSheet.Cells(1,1).Value;
        Excel.Quit();
    }
</script>
Run Code Online (Sandbox Code Playgroud)

请建议一些解决方案,以便它适用于所有浏览器.

javascript excel jsp

8
推荐指数
2
解决办法
5万
查看次数

JSTL消息:不知道如何使用forEach迭代提供的"items"

我正在传递一个List <c:forEach>,但是我收到错误声明它不知道如何迭代它.

@RequestMapping("/viewall")
public String viewAll(Model model) {

    // productService.findAllProducts() returns List<Product> 
    model.addAttribute("everything", productService.findAllProducts());

    // Also tried using iterator, but I get same error
    //model.addAtrribute("everything", productService.findAllProducts().iterator());

    ....
}
Run Code Online (Sandbox Code Playgroud)

jsp页面:

<c:forEach items="${everything}" var="prod">
    <p> ${prod.name} </p>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

错误:

javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in &lt;forEach&gt;
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
    org.apache.jsp.WEB_002dINF.jsp.allprod_jsp._jspService(allprod_jsp.java:158)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) …
Run Code Online (Sandbox Code Playgroud)

java jsp jstl el spring-mvc

8
推荐指数
1
解决办法
2万
查看次数

如何继承静态字段并改变它的值?

我正在开发程序/游戏,我有静态实用程序类和params.

class ParamsGeneral {
   public static final int H_FACTOR = 100;
   public static int MAX_SCORE = 1000;
   ...
}
Run Code Online (Sandbox Code Playgroud)

然后我需要在某些特定情况下覆盖这些值,例如在有限分数的地图上播放.所以我做了以下事情:

class ParamsLimited extends ParamsGeneral {
   public static int MAX_SCORE = 500;
   // other params stay same
}
Run Code Online (Sandbox Code Playgroud)

预期用途如下:

class Player {
   ParamsGeneral par;
   public Player() {
      if(onLimitedMap()){
          par = new ParamLimited();
      }
   }

   public boolean isWinner() {
      if(this.score == par.MAX_SCORE) {
          return true;
      }
      return false;
   }
}
Run Code Online (Sandbox Code Playgroud)

我实际上没有测试过这段代码,因为IDE抱怨通过实例调用静态字段以及字段隐藏.我清楚地看到这段代码很臭,所以有没有办法实现这个或者我必须分别编写每个param类?

PS:我知道我应该使默认类抽象并使用getter,我只是好奇是否有办法使值静态可访问.

java inheritance static

8
推荐指数
1
解决办法
8677
查看次数

用户名的正则表达式会增加CPU消耗

我们的用户名验证有以下规则:

  • 用户名可以包含字母数字字符
  • 用户名可以有下划线,连字符或句点
  • 现在假设用户名是ASCII
  • 用户名无法以句点开头或结尾
  • 用户名无法启动,结束或有任何空格

我们有以下正则表达式:

^(([a-zA-Z0-9]+[_-]*[a-zA-Z0-9]*)([\\.]*[a-zA-Z0-9])*)+$
Run Code Online (Sandbox Code Playgroud)

现在尝试匹配特定的字符串,CPU使用率呈指数级增长.例如:

M45766235H.M96312865E@EXAMPLE.COM
Run Code Online (Sandbox Code Playgroud)

显然,匹配像上面的字符串应该立即失败但我想知道为什么它需要那么多的CPU周期.最终代码:

import java.util.regex.*;
public class R {
    static final Pattern namePattern = Pattern.compile("^(([a-zA-Z0-9]+[_-]*[a-zA-Z0-9]*)([\\.]*[a-zA-Z0-9])*)+$");

    public static void main(String... args) {
        final String userName = "M45766235H.M96312865E@EXAMPLE.COM";
        Matcher matcher = namePattern.matcher(userName);
        System.out.println(matcher.matches());
    }
}
Run Code Online (Sandbox Code Playgroud)

在不同的路线上,我重写了下面的正则表达式并且很好地展示了它:

^[\\w]+[\\w-_\\.]*[\\w]+$
Run Code Online (Sandbox Code Playgroud)

java regex

8
推荐指数
1
解决办法
271
查看次数

<f:viewParam>和<f:param>有什么区别?

<f:viewParam><f:param>JSF 2.1 之间有什么区别?

jsf jsf-2

8
推荐指数
1
解决办法
3996
查看次数

通过ASP.NET Razor中的html按钮调用C#函数

好吧标题说明了一切,我想做的是通过按钮调用功能

我将给你留下一个不起作用的简单代码!:

@{
    protected void print()
    { 
        @<p>WELCOME!</p>
    }
}


<form>
    <button  onclick="print" value="CLICK ME"/>
</form>
Run Code Online (Sandbox Code Playgroud)

关于如何在上面的代码中完成我想做的事情的任何想法?

注意:我不使用MVC

c# asp.net razor web

8
推荐指数
2
解决办法
5万
查看次数

如何创建支持通用ID的通用实体模型类,包括自动生成的ID?

我有三个种类的对表的主键:

  • INT自动生成的主键,它使用AUTO_INCREMENT来自数据库供应商的容量(MySQL)
  • CHAR(X) 将用户可读值存储为键的主键(其中X是数字且50 <= X <= 60)
  • 复杂主键,由表的2或3个字段组成.

此外,还有一些字段可能存在(或不存在):

  • 版本,INT字段.
  • createdBy,VARCHAR(60)field和lastUpdatedBy,VARCHAR(60)field(还有更多字段,但这些字段涵盖了一个基本示例).

上面的一些例子:

  • 表格1
    • id int主键auto_increment
    • 版本int
    • 值char(10)
    • createdBy varchar(60)
    • lastUpdatedBy varchar(60)
  • 表2
    • id char(60)主键
    • shortDescription varchar(20)
    • longDescription varchar(100)
  • 表3
    • field1 int主键
    • field2 int主键
    • 小数(10,5)
    • 版本int

考虑到所有这些,我需要创建一组支持这些要求的通用类,并允许使用Hibernate 4.3和JPA 2.1进行CRUD操作.

这是我当前的模型(避免使用getter/setter来缩短代码示例):

@MappedSuperclass
public abstract class BaseEntity<T> implements Serializable {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    protected T id;
}

@MappedSuperclass
public abstract class VersionedEntity<T> extends BaseEntity<T> {
    @Version
    protected int version;
}

@MappedSuperclass
public …
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate jpa hibernate-4.x

8
推荐指数
2
解决办法
6253
查看次数

在Spring和Hibernate中同时处理Controller,Service和DAO Layer异常的最佳实践是什么?

我正在开发Spring 3.2和Hibernate 3.6,任何人都可以解释如何处理Sping MVC和Hibernate中的异常......我只是分享示例代码.

控制器层

public Integer saveEployee(HttpServletRequest req, HttpServletResponse res){
    Employee empObj = new Employee();
    empObj.setName(req.getParameter("empName"));
    ......................
    ......................
    Integer empId = materService.saveEmployee(empObj);
    return empId; 
}
Run Code Online (Sandbox Code Playgroud)

服务层

public Integer saveEmployee(Employee empObj){
    return masterDao.saveEmployee(empObj);
}
Run Code Online (Sandbox Code Playgroud)

DAO层

public Integer saveEmployee(Employee empObj){
    Session session = sessionFactory.openSession();
    Transaction tx = session.beginTransaction();
    Integer empId = session.save(empObj);
    tx.commit();
    session.close();
    return empId;
}
Run Code Online (Sandbox Code Playgroud)
  1. 现在假设任何异常发生在DAO层,同时节省了empObj像d/B了下来或连接失败或任何其他类型的Hibernate异常发生类似ConstraintViolationExceptionIntegrityConstraintViolationException等.

  2. 如果有可能NullPointerException在控制器层处理java异常或任何用户定义的异常等.

那么什么是最佳实践或如何同时处理Controller,Service和DAO Layer中的异常.

java spring hibernate exception

8
推荐指数
2
解决办法
1万
查看次数

Tomcat是一个支持JAX-RS的Servlet容器

从教科书"RESTful Java with JAX-RS"我们可以阅读:

如果我们的应用程序服务器支持JAX-RS,或者换句话说,它与JAX-R紧密集成,则将我们的ShoppingApplication类声明为servlet:

<?xml version="1.0"?>
 <web-app>
 <servlet>
 <servlet-name>Rest</servlet-name>
 <servlet-class>
 com.restfully.shop.services.ShoppingApplication
 </servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Rest</servlet-name>
 <url-pattern>/*</url-pattern>
 </servlet-mapping>
 </web-app> 
Run Code Online (Sandbox Code Playgroud)

如果我们的应用程序服务器不支持JAX-RS,则必须指定处理JAX-RS调用的JAX-RS提供程序的servlet.应该将Application类指定为servlet的init-param:

现在我的问题是:Tomcat是一个支持JAX-RS的Servlet容器吗?你如何区分一个不知道JAX-RS的servlet容器JAX-RS?为什么在第一种情况下可以使用自定义类javax.ws.rs.core.Application作为Servlet 扩展?

java rest tomcat jax-rs web

8
推荐指数
1
解决办法
5348
查看次数

如何使用Netbeans在项目中显示所有Java编译器警告?

来自Visual Studio和Eclipse,如何查找所有编译器警告,例如整个项目的未使用变量.这似乎是一件微不足道的事情,却无法找到它.我可以在"操作项"窗口中找到所有错误,但不是所有警告.

java netbeans

7
推荐指数
1
解决办法
5473
查看次数