Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 服务器端的响应web模式_Java_Scala_Jakarta Ee_Lift_Responsive Design - Fatal编程技术网

Java 服务器端的响应web模式

Java 服务器端的响应web模式,java,scala,jakarta-ee,lift,responsive-design,Java,Scala,Jakarta Ee,Lift,Responsive Design,我一直在阅读有关的文章,并在测试页面上成功地实现了它。然而,我看到布局的局限性是受到HTML标记的顺序/顺序的限制。您可以对许多内容等设置display:none属性,但这并不好 那么,服务器端是否有一种方法可以根据用户使用的设备类型来区分HTML响应将包含哪些内容呢?我主要对Scala(Lift)和Java EE解决方案感兴趣。使用Lift可以识别用户代理,如果它是移动的,则可以显示与用户使用桌面浏览器不同的html 有几种方法可以实现这一点,一种是从网站地图,另一种是从每个片段 这是一个询问

我一直在阅读有关的文章,并在测试页面上成功地实现了它。然而,我看到布局的局限性是受到HTML标记的顺序/顺序的限制。您可以对许多内容等设置
display:none
属性,但这并不好


那么,服务器端是否有一种方法可以根据用户使用的设备类型来区分HTML响应将包含哪些内容呢?我主要对Scala(Lift)和Java EE解决方案感兴趣。

使用Lift可以识别用户代理,如果它是移动的,则可以显示与用户使用桌面浏览器不同的html

有几种方法可以实现这一点,一种是从网站地图,另一种是从每个片段

这是一个询问每种方法细节的好地方

更新

这是一个使用Lift网站地图的示例

def sitemap = SiteMap(
  Menu.i("Home") / "index" >> pickTemplate(),
  Menu.i("First") / "first" 
)

//Show mobile or regular page
def pickTemplate() ={
  //If the browser is Chrome, pick this template
  if(S.request.map(_.isChrome) openOr true  ){
    Template( ()=>Templates("chrome" :: Nil) openOr (NodeSeq.Empty))
  } else{
    Template( ()=>Templates("other" :: Nil) openOr (NodeSeq.Empty))
  }
}
不会有“解决方案”。我还没有听说过一个框架,它允许您根据设备呈现内容,而不需要太多的代码重复。也许你更需要一种强大的模板语言。