标签: facelets

如何学习JSP/MVC,具有ASP.Net MVC的先前经验?

我刚刚开始进入Java世界的大门.在过去的3年里,我一直在用C#编程,并且已经做了大约3个月的ASP.Net MVC.我非常喜欢它,但我需要Windows才能运行最新最好的库这一事实有点让人反省......另外我认为学习另一种语言有助于理解概念,因为你得到了一个比较.

我想学习JSP/MVC.我想知道它是否与ASP.Net MVC类似,如果我可以编写JSP/MVC Web应用程序而不使用其他框架(如Spring)来开始.

另外,哪个是从C#背景学习JSP/MVC的更好方法?

欢迎任何建议.提前致谢!

java asp.net-mvc jsf jsp facelets

10
推荐指数
2
解决办法
1950
查看次数

<c:if test>似乎总是在JSF2 Facelets中评估为true

我在Facelets上使用JSF2.

<ui:param>在页面中定义了一个:

<ui:composition template="/WEB-INF/templates/ui.xhtml"
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets"
>
  <ui:param name="title" value="OnAir WebDemo" />
  ...
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

ui.xhtml模板中我有:

<html
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:c="http://java.sun.com/jstl/core"
>
  <c:if test="#{not empty title}">
    <h1>#{title}</h1>
  </c:if>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,<c:if test>似乎总是评估true,如果<ui:param>没有指定.如何更改代码,以便在未指定时<c:if test>实际评估?false<ui:param>

jsf jstl facelets jsf-2

10
推荐指数
1
解决办法
4万
查看次数

Java Facelets中<h:head>和<head>之间有什么区别?

看到这个.

何时以及为何使用<h:head>,而不是<head>

不过,我已经看过Primefaces无法使用<head>.

jsf facelets variant

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

重置输入字段而不执行验证

我有一个Facelets视图如下:

<h:form id="f1">
<p:panelGrid id="p1" columns="2"> 
<p: inputText value="Distance Travelled::/><p:inputText value="#{airTransportUsage.distance}" immediate="true"
required="true" requiredMessage="Distance Travelled Field cannot be left blank.."
converterMessage="Distance Travelled must be a number"
validatorMessage="Distance Travelled must be a valid number.."
id="dis">
<f:validateLongRange minimum="1"/>
</p:inputText>
<p:commandButton value="Reset" action="#{airTransportUsage.reset}" update=":f1:p1" />
</p:panelGrid>
</h:form>
Run Code Online (Sandbox Code Playgroud)

单击重置按钮时,由于验证,永远不会执行相应的方法.我无法使用immediate="true"我的重置按钮,因为它会产生一些其他问题.

jsf facelets reset primefaces

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

在Eclipse中没有创建XHTML选项

我正在使用Eclipse Kepler,版本= 4.3.0(尝试使用版本= 3.7.0).我尝试使用javax.faces-2.2.5.jar和javax.faces-2.2.1.jar.

我遵循的步骤:文件 - >新建 - >动态Web项目 - >动态Web模块版本 - 2.5(也尝试使用3.0),配置 - JavaServerFaces v1.2Project - >下一步 - >下一步 - >下一步 - > JSF实现库 - 添加了javax.faces-2.2.5.jar - >完成.

项目创建后:右键单击项目名称 - >属性 - >项目构面:动态Web模块 - 2.5 Java - 1.5 Javascript - 1.0 Java服务器面 - 1.2

我甚至做了:Window> Preferences> General> Content Types> Text> JSP然后将*.xhtml添加为文件关联并将默认编码设置为UTF-8.

另外,做了帮助 - >检查更新和更新eclipse.

完成所有这些操作后,当我右键单击Web Content - > New时,没有创建XHTML页面的选项.

如果我错过了什么,请建议.

java eclipse xhtml facelets jsf-2

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

你如何从JSF 2.0 Facelets模板调用List.size()?

在JSF 2.0 Facelets模板中调用list.size()的语法是什么(例如,使用h:outputText元素)?

java jsf facelets java-ee-6

9
推荐指数
3
解决办法
3万
查看次数

是否可以更改JSF中的元素id分隔符?

例如,以下代码段:

<h:form id="levelone">
    <h:inputText id="leveltwo" value="Test" />
</h:form>
Run Code Online (Sandbox Code Playgroud)

生成以下标记:

<form id="levelone" name="levelone" method="post" action="/test/testPage.html" 
      enctype="application/x-www-form-urlencoded">
   <input id="levelone:leveltwo" type="text" name="levelone:leveltwo" 
          value="Test" />
</form>
Run Code Online (Sandbox Code Playgroud)

是否可以更改自动生成的ID以使用与冒号不同的分隔符?

例如,我想改变

levelone:leveltwo
Run Code Online (Sandbox Code Playgroud)

levelone-leveltwo
Run Code Online (Sandbox Code Playgroud)

背景

我们在webapp中使用Mojo JavaScript应用程序框架,它似乎不喜欢id中的冒号.

html java jsf facelets

9
推荐指数
1
解决办法
3317
查看次数

在JSF2项目中混合使用JSP和XHTML(Facelets) - 可能吗?

我有一个客户想要使用JSF2,他们喜欢XHTML现在是默认的(Facelets).

但是,他们的JSF1.x代码库中有大量的"遗留"JSP.

我知道这可能不太可取,但是有可能在JSF2中支持两者的混合,至少在他们移植的过渡期间吗?

我知道可以在JSF1.x中混合使用两者,但我在JSF2中找不到任何关于此的信息.

我用谷歌搜索过,但自然所有JSF2都集中在Facelets上.我对混音的简短尝试(我不是JSF的专家!)导致了失败.

jsf jsp facelets jsf-2

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

是否在f:元数据中放置f:event是否重要?

wrt 如何使用f:viewParam对GET请求执行操作?

<f:metadata>
    <f:viewParam name="id" value="#{tInputBean.id}" />
    <f:event type="preRenderView" listener="#{tInputBean.init}" />
</f:metadata>
Run Code Online (Sandbox Code Playgroud)

我很想知道a preRenderView f:event是否放在f:metadata中是否重要.我已经检查了Java EE6教程,Java Server Faces 2.0完整参考和Core JSF2,并且没有一个在f:metadata中有f:event的例子,但我在网上看到了很多像这样的例子.

JSF2 Compl.Ref说p.540

f:metadata标记封装了用于指定Facelet视图的元数据的元素集,因此必须是f:view标记的子元素,并且可能不会出现在模板中.从JSF2.0开始,此标记的唯一目的是封装f:viewParam标记.

在f:metadata中放置f:事件(通常用于支持f:viewParam)是否具有特殊含义,或者仅仅是为了帮助将它与视觉/逻辑上的f:viewParam一起分组?

jsf facelets jsf-2

9
推荐指数
1
解决办法
4190
查看次数

JSF EL嵌套三元运算符

我有JSF 2.2,PrimeFaces 5.0 Web应用程序.

在我的页面上,我需要有条件地设置<ui:param/>.问题是标准的三元运算符是不够的,因为我有两个以上的选项可供选择.此单页用作两种类型用户的编辑和创建页面:普通用户和医生.

这是我尝试过的:

<ui:param name="edit_title"
    value="#{empty dto.id  ? 
(bean.isPhysician ? msg.physicianNewTitle : msg.userNewTitle) :
(bean.isPhysician ? msg.physicianEditTitle : msg.userEditTitle)}" />
Run Code Online (Sandbox Code Playgroud)

结果显示错误的标题,什么时候dto.id是空的,bean.isPhysician是假的,我找不到问题或更好的解决方案.试图像在这里说的那样有条件地设置它,但是由于某种原因它不起作用.

有谁知道如何解决这种麻烦?

每个有用的答案都受到高度赞赏和评价.

谢谢.

jsf facelets el ternary-operator

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

标签 统计

facelets ×10

jsf ×9

java ×4

jsf-2 ×4

jsp ×2

asp.net-mvc ×1

eclipse ×1

el ×1

html ×1

java-ee-6 ×1

jstl ×1

primefaces ×1

reset ×1

ternary-operator ×1

variant ×1

xhtml ×1